티스토리 뷰

반응형

페이지에 설명된 소스코드는 링크에 있습니다.

 

update와 같은 경우에도 앞선 저장과 같이 별도의 DTO를 만들어서 해주는 것이 좋다.


  
@PutMapping("/api/v2/members/{id}")
public UpdateMemberResponse updateMemberV2(
@PathVariable("id") Long id,
@RequestBody @Valid UpdateMemberRequest request){
memberService.update(id, request.getName());
log.info("request name {}", request.getName());
Member member = memberService.findOne(id);
return new UpdateMemberResponse(member.getId(), member.getName());
}
update를 할때 반환값을 member로 하는 것보다
command와 query를 분리하여 역할을 분리하는 것이 유지 보수 입장에서 좋다.

만약 update에서 member를 반환할수도 있지만, command와 qeury 2개의 기능을 하게 된다.

 

UpdateMemberRequest


  
@Data
static class UpdateMemberRequest{
private String name;
}

UpdateMemberResponse


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

 

URL상에서 id를 통해서 저장된 회원을 조회하고,

member를 변경한 뒤에 UpdateMemberResponse를 통해 보여주고 싶은 자료를 보여주면 된다.

 

 

728x90
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함
250x250