Spring
@ResponsBody
keepgoing
2023. 3. 18. 17:53
@ResponseBody는 ViewResolver를 요구하지 않고 원하는 데이터 반환을 json 형태로 본문에 응답해준다.
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(MethodArgumentNotValidException.class)
@ResponseBody
public ErrorResponse inValidRequestHandler(MethodArgumentNotValidException e){
ErrorResponse response = ErrorResponse.builder()
.code("400")
.message("잘못된 요청입니다.")
.build();
for(FieldError fieldError : e.getFieldErrors()){
response.addValidation(fieldError.getField(), fieldError.getDefaultMessage());
}
return response;
}
위 코드에서 @ResponseBody를 제거하면 ViewResolver 에러 발생