티스토리 뷰

반응형

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

 

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/01   »
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 31
글 보관함
250x250