• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

8:41 질문

23.04.27 11:58 작성 조회수 309

0

@PutMapping("/api/v2/members/{id}")
public UpdateMemberResponse updateMemberV2(
        @PathVariable("id") Long id,
        @RequestBody @Valid UpdateMemberRequest request) {

    memberService.update(id, request.getName());
    return new UpdateMemberResponse(id, request.getName());
}

 

파라미터로 들어온 값으로 UpdateMemberResponse를 만들어주지 않고 memberService.findOne을 통해 하는 이유가 있을까요?

답변 1

답변을 작성해보세요.

1

y2gcoder님의 프로필

y2gcoder

2023.04.28

안녕하세요, hjemsti 님. 공식 서포터즈 y2gcoder 입니다.

확실하게 업데이트되었는지 확인하기 위한 과정도 포함하기 위함입니다. request에서 들어온 값으로 response 객체를 만들어도 됩니다. 하지만 만약 모종의 이유로 DB에 업데이트 내역이 반영되지 않았고, 심지어 그런 버그 상황에서 그냥 넘어가도록 설계가 되어있다면, 실질적으로 업데이트는 되지 않았는데 사용자에게는 마치 업데이트가 반영된 것처럼 응답을 주게 됩니다.

이런 부분을 방지하기 위해 DB에 저장된 값을 조회해서 그 값으로 응답 객체를 만들어 보내주는 것입니다.

감사합니다.