@RequestBody
You can use the @RequestBody annotation to have the request body read and deserialized into an
Object through an HttpMessageConverter.
The following example uses a @RequestBody argument:
-
Java
@PostMapping("/accounts")
public void handle(@RequestBody Account account) {
// ...
}
You can use the Message Converters option of the MVC Config to configure or customize message conversion.
You can use @RequestBody in combination with jakarta.validation.Valid or Infra
@Validated annotation, both of which cause Standard Bean Validation to be applied.
By default, validation errors cause a MethodArgumentNotValidException, which is turned
into a 400 (BAD_REQUEST) response. Alternatively, you can handle validation errors locally
within the controller through an Errors or BindingResult argument,
as the following example shows:
-
Java
@PostMapping("/accounts")
public void handle(@Valid @RequestBody Account account, Errors errors) {
// ...
}
If method validation applies because other parameters have @Constraint annotations,
then HandlerMethodValidationException is raised instead. For more details, see the
section on Validation.