https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc-ann-requestbody
Web on Servlet Stack
Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, “Spring Web MVC,” comes from the name of its source module (spring-webmvc), but it is more com
docs.spring.io
요청 바디를 읽고 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 |
댓글 영역