오봉이와 함께하는 개발 블로그

JPA 2 - 회원 수정 API 본문

BE/JPA

JPA 2 - 회원 수정 API

오봉봉이 2022. 9. 4. 00:23
728x90

회원 수정 API

@Data
static class UpdateMemberRequest {
    private String name;
}
@Data
@AllArgsConstructor
static class UpdateMemberResponse {
    private Long id;
    private String name;
}

@PostMapping("/api/v2/members/{id}")
public UpdateMemberResponse updateMemberV2(@PathVariable("id") Long id, @RequestBody @Valid UpdateMemberRequest request) {
    memberService.update(id, request.getName());
    Member findMember = memberService.findOne(id);
    return new UpdateMemberResponse(findMember.getId(), findMember.getName());
}

@Transactional
public void update(Long id, String name) {
    Member member = memberRepository.findOne(id);
    member.setName(name);
}
  • 변경 감지를 사용해서 데이터를 수정

update()에서 Member를 반환할 수 있지만, 하나의 메소드에서 쿼리가 두 가지 나갈 수 있기 때문에 업데이트 기능에만 집중해서 작성하자.

회원 수정 API updateMemberV2 은 회원 정보를 부분 업데이트 한다.
PUT전체 업데이트를 할 때 사용하는 것이 맞다.
부분 업데이트를 하려면 PATCH를 사용하거나 POST를 사용하는 것이 REST 스타일에 맞다.

인프런 김영한 지식공유자님 강의 - 실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
728x90
Comments