[TIL 27일 차] Sprint Mission4 - 디스코드: Controller Layer 구현 및 테스트
오늘의 학습
- 개발 진행 상황
- Service 로직을 활용해 웹 API 구현
- 메시지 수신 정보 관리를 위한
ReadStatusController구현- 특정 채널 메시지 수신 정보 생성 API
createReadStatus핸드러 메서드 구현 - 특정 채널의 메시지 수신 정보 수정 API
updateReadStatus핸드러 메서드 구현 - 특정 사용자의 메시지 수신 정보 조회 API
findAllReadStatusByUserId핸드러 메서드 구현
- 특정 채널 메시지 수신 정보 생성 API
- 바이너리 파일 다운로드 관리를 위한
BinaryContentController구현- 바이너리 파일을 1개 조회 API
downloadFile핸들러 메서드 구현 - 바이너리 파일을 여러 개 조회 API
downloadFiles핸들러 메서드 구현
- 바이너리 파일을 1개 조회 API
- 메시지 수신 정보 관리를 위한
- 사용자 목록을 보여주는 화면 출력

- Service 로직을 활용해 웹 API 구현
프로젝트 요구 사항
2. 기본 요구사항
2-1. 컨트롤러 레이어 구현
- DiscodeitApplication의 테스트 로직은 삭제하세요.
- 지금까지 구현한 서비스 로직을 활용해 웹 API를 구현하세요.
- 이때
@RequestMapping만 사용해 구현해보세요. - 아래의 “웹 API 요구사항” 참고
- 이때
- 웹 API의 예외를 전역으로 처리하세요.
2-2. API 테스트
- Postman을 활용해 컨트롤러를 테스트 하세요.
- Postman API 테스트 결과를 다음과 같이 export하여 PR에 첨부해주세요.
//...
3-5. 메시지 수신 정보 관리
- 특정 채널의 메시지 수신 정보를 생성할 수 있다.
- 특정 채널의 메시지 수신 정보를 수정할 수 있다.
- 특정 사용자의 메시지 수신 정보를 조회할 수 있다.
3-6. 바이너리 파일 다운로드
- 바이너리 파일을 1개 또는 여러 개 조회할 수 있다.
4. 심화 요구사항
4-1. 정적 리소스 서빙
- 사용자 목록 조회, BinaryContent 파일 조회 API를 다음의 조건을 만족하도록 수정하세요.
- 사용자 목록 조회
- url:
/api/user/findAll - 요청
- 파라미터, 바디 없음
- 응답
-
ResponseEntity<List<UserDto>>public record UserDto( UUID id, Instant createdAt, Instant updatedAt, String username, String email, UUID profileId, Boolean online ) { }
-
- url:
- 사용자 목록 조회
- url:
/api/binaryContent/find - 요청
- 파라미터:
binaryContentId - 바디 없음
- 파라미터:
- 응답:
ResponseEntity<BinaryContent>
- url:
- 사용자 목록 조회
static-resources.zip을 활용하여 사용자 목록을 보여주는 화면을 서빙해보세요.
GitHub Repository 주소
https://github.com/JungH200000/10-sprint-mission/tree/sprint4
Leave a comment