-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2차 과제 코드 #2
base: main
Are you sure you want to change the base?
2차 과제 코드 #2
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
과제하느라 수고하셨습니당. 깃도 배우시느라 더더 바쁘셨겠네요!
import org.springframework.data.jpa.repository.JpaRepository; | ||
import org.springframework.stereotype.Repository; | ||
|
||
@Repository |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
저도 이번 과제를 졸면서 했는지 별 생각 없이 @repository 어노테이션을 달아줬는데 저희가 MemberRepository에서 상속받는 JpaRepository의 구현체인 SimpleJpaRepository에 이미 @repository가 있어서 굳이 적지 않아도 됩니다!
return MemberFindDto.of(memberRepository.findById(memberId).orElseThrow( | ||
() -> new EntityNotFoundException("ID에 해당하는 사용자가 존재하지 않습니다.") | ||
)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
memberRepository.findById(memberId).orElseThrow(
() -> new EntityNotFoundException("ID에 해당하는 사용자가 존재하지 않습니다.")
)
멤버 id로 멤버를 가져올 때 멤버가 존재하는지 확인하고 없으면 예외를 터뜨리는 로직은 재사용될 가능성이 높습니다. 그래서 MemberRepository 인터페이스에 default 메소드를 정의하거나 MemberService내에 해당 부분을 메소드로 따로 분리하는 것도 좋을 것 같습니당.
그렇게 된다면 필요한 곳에서 동일한 예외 메시지를 반환하게 쉽게 관리할 수 있겠죠?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
git 익히시는데도 어려우셨을텐데 과제하느라 고생하셨습니다!
상준오비가 이미 좋은 리뷰를 많이 달아주셨네요! 구경하다 갑니다!
화이팅입니다-!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
설명이랑 api명세서를 자세하게 작성해주셔서 읽기 좋았습니당
과제하느라 수고 넘 많으셨습니다!!! 😺😺
명세서를 아주 자세하게 작성해주셨네요 저도 배우고 갑니다 고생하셨습니다 👍 |
이 주의 과제
등록한 모든 멤버가 List로 반환되는 API 구현 하였습니다..!
MemberController.java
설명: @GetMapping을 사용하여 /api/v1/member 경로로 GET 요청을 받고, 서비스 계층에서 반환된 모든 멤버의 리스트를 200 OK 응답과 함께 반환
MemberService.java
설명: 데이터베이스에서 모든 멤버를 조회하여 각 멤버를 MemberFindDto 객체로 변환 후, 이를 리스트로 수집해 반환
에 코드 추가해 주었습니다..
결과로는
localhost:8080/api/v1/member
다음과 같이 확인할 수 있었습니다.
요구사항 분석
[POST] 멤버 가입
어떤 API 인가요?
POST 멤버 가입
사용자의 정보를 받아서 Member 객체 생성 후 DB에 저장
Request
Path Parameter
Request Header
[POST] http://localhost:8080/api/v1/member
Request Body
✨ Response Body
[GET] 멤버 조회
1. 어떤 API 인가요?
[GET] 멤버 조회
사용자 id를 Path variables로 받아 해당 멤버 정보 반환
2. Request
Path Parameter
[GET] http://localhost:8080/api/v1/member/:memberId
Request Body
3. Response
✨ Response Body
[DELETE] 멤버 삭제
1. 어떤 API 인가요?
DELETE 멤버 삭제
사용자 id를 Path variables로 받아 해당하는 멤버 정보를 DB에서 삭제
2. Request
Path Parameter
[DELETE] http://localhost:8080/api/v1/member/:memberId
Request Body
3. Response
✨ Response Body
[GET] 멤버 리스트 조회
1. 어떤 API 인가요?
[GET] 멤버 리스트 조회
등록한 모든 멤버가 List로 반환되는 API
2. Request
Path Parameter
[GET] http://localhost:8080/api/v1/member/list
Request Body
3. Response
✨ Response Body
구현 고민 사항
postman에서 자꾸 오류가 뜨다가 이유는 모르겠는데 해결이 되었읍니다...
질문있어요!