
dto 폴더를 보면 ResponseDto 가 존재합니다.
응답 객체는 모두 여기에 담아서 리턴을 해줘야 프론트 단에서 코드를 받아서 처리하기에 좋습니다.
@RequiredArgsConstructor
@Getter
public class ResponseDto<T> {
private final Integer code;
private final String msg;
private final T data;
}
예를 들면
@PutMapping("/v1/users/{id}")
public ResponseEntity<?> modifyUserInfo(@AuthenticationPrincipal LoginUser loginUser, @RequestBody @Valid UserReqDto.UpdateUserReqDto updateUserReqDto, BindingResult bindingResult){
UserRespDto.UpdateUserRespDto updateUserRespDto = userService.updateUser(loginUser.getUser().getId(), updateUserReqDto);
// 이 부분을 주목하세요!
return new ResponseEntity<>(new ResponseDto<>(1,"회원정보 수정 성공", updateUserRespDto), HttpStatus.OK);
}
이런 식으로 데이터를 응답해줘야
응답 데이터가
code, msg, Dto 로 나누어져서 잘 전달 됩니다.
code부분에는
HTTP 상태코드를 반환하는 것이 아닌 1(성공), -1(실패) 로 구분하여 리턴합니다.