你可以使用 @RequestBody 注解来让请求正文通过 HttpMessageConverter 读取并反序列化为一个对象。下面的例子使用了一个 @RequestBody参数:
@PostMapping("/accounts")public void handle(@RequestBody Account account) {// ...}
你可以使用 MVC 配置的 Message Converters 选项来配置或定制消息转换。
你可以将 @RequestBody与 javax.validation.Valid或 Spring 的 @Validated 注解结合使用,这两者都会导致标准 bean 验证的应用。默认情况下,验证错误会导致 MethodArgumentNotValidException,它被转化为 400(BAD_REQUEST)响应。另外,你可以通过 Errors 或 BindingResult 参数在控制器中本地处理验证错误,如下面的例子所示:
@PostMapping("/accounts")public void handle(@Valid @RequestBody Account account, BindingResult result) {// ...}
