오봉이와 함께하는 개발 블로그
JPA 2 - 회원 수정 API 본문
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
'BE > JPA' 카테고리의 다른 글
JPA 2 - API 개발 고급 : 조회용 샘플 데이터 입력 (0) | 2022.09.04 |
---|---|
JPA 2 - 회원 조회 API (0) | 2022.09.04 |
JPA 활용 2 - 회원 등록 API (0) | 2022.09.03 |
JPA 활용 1 - 변경 감지와 병합(merge) (0) | 2022.09.03 |
JPA 활용 1 - 엔티티 설계시 주의점 (0) | 2022.09.02 |
Comments