https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann-requestbody
요청 바디를 읽고 HttpMessageConverter를 통해 Object를 역직렬화 할 수 있다.
form 데이터나 쿼리스트링이 아닌 JSON 등을 통해서 들어온 요청을 처리한다.
기본적으로 validation error는 MethodArgumentNotVaildException을 발생시키고 400(BAD_REQUEST)를 응답한다. @RequestBody를 @Validated 어노테이션과 함께 사용하면 이 예외를 컨트롤러에서 처리할 수 있다.
@Data
public class Member {
@Size(min = 3)
private String id;
@NotEmpty
private String name;
}
@Slf4j
@RequestMapping("/requestBody")
@RestController
public class RequestBodyController {
@GetMapping("/handle")
public void handle(@Valid @RequestBody Member member, BindingResult result) {
log.info("member : {}", member);
log.info("result : {}", result.hasFieldErrors());
}
}
이처럼 예외를 메소드레벨에서 잡아서 별도로 처리할 수 있다.
Spring MVC @ResponseBody (0) | 2022.05.30 |
---|---|
Spring MVC @ModelAttribute (매개변수 레벨) (0) | 2022.05.25 |
Spring MVC @CookieValue (0) | 2022.05.24 |
댓글 영역