Skip to content

Comments

[황민재]Sprint4#116

Open
rorm0819 wants to merge 17 commits intocodeit-bootcamp-spring:황민재from
rorm0819:Sprint4
Open

[황민재]Sprint4#116
rorm0819 wants to merge 17 commits intocodeit-bootcamp-spring:황민재from
rorm0819:Sprint4

Conversation

@rorm0819
Copy link
Collaborator

@rorm0819 rorm0819 commented Feb 9, 2026

프로젝트 마일스톤

  • 컨트롤러 레이어 추가 및 웹 API 구현
  • Postman 테스트

요구사항

기본

컨트롤러 레이어 구현

  • DiscodeitApplication의 테스트 로직은 삭제하세요.
  • 지금까지 구현한 서비스 로직을 활용해 웹 API를 구현하세요.
    이때 @RequestMapping만 사용해 구현해보세요.
  • 웹 API의 예외를 전역으로 처리하세요.

웹 API 요구사항

사용자 관리

  • 사용자를 등록할 수 있다.
  • 사용자 정보를 수정할 수 있다.
  • 사용자를 삭제할 수 있다.
  • 모든 사용자를 조회할 수 있다.
  • 사용자의 온라인 상태를 업데이트할 수 있다.

권한 관리

  • 사용자는 로그인할 수 있다.

채널 관리

  • 공개 채널을 생성할 수 있다.
  • 비공개 채널을 생성할 수 있다.
  • 공개 채널의 정보를 수정할 수 있다.
  • 채널을 삭제할 수 있다.
  • 특정 사용자가 볼 수 있는 모든 채널 목록을 조회할 수 있다.

메시지 관리

  • 메시지를 보낼 수 있다.
  • 메시지를 수정할 수 있다.
  • 메시지를 삭제할 수 있다.
  • 특정 채널의 메시지 목록을 조회할 수 있다.

메시지 수신 정보 관리

  • 특정 채널의 메시지 수신 정보를 생성할 수 있다.
  • 특정 채널의 메시지 수신 정보를 수정할 수 있다.
  • 특정 사용자의 메시지 수신 정보를 조회할 수 있다.

바이너리 파일 다운로드

  • 바이너리 파일을 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
) {
}
  • BinaryContent 파일 조회
    • url: /api/binaryContent/find
    • 요청
      • 파라미터: binaryContentId
      • 바디 없음
    • 응답: ResponseEntity<BinaryContent>
  • 다음의 파일을 활용하여 사용자 목록을 보여주는 화면을 서빙해보세요.

스크린샷

image

첨부파일

Codeit-Sprint4.postman_collection.json

멘토에게

  • @RequestBody를 2개 이상 써서 데이터를 입력받는게 가능한가요?

jiho0420 and others added 17 commits January 9, 2026 11:11
test: userInfo 수정 로직 테스트 케이스 추가
-서비스 저장소 Map 구조 변경 및 Optional 도입
-테스트 코드 추가
refactor: findById 메서드 반환 타입 변경 (Optional -> Object) 및 예외 처리 로직 내부화
- 채널 참가자 조회(findParticipants) 로직 이관 (ChannelService -> UserService)
- 유저 정보 수정(updateUserInfo) 로직 개선 (if문 -> Optional 체이닝)
- 특정 유저의 참여 채널 목록 조회 기능 구현
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants