对于最新的稳定版本,请使用 Spring Framework 6.2.0spring-doc.cadn.net.cn

@RequestBody

您可以使用@RequestBody注解来读取请求正文并将其反序列化为Object通过HttpMessageConverter. 以下示例使用@RequestBody论点:spring-doc.cadn.net.cn

@PostMapping("/accounts")
public void handle(@RequestBody Account account) {
	// ...
}
@PostMapping("/accounts")
fun handle(@RequestBody account: Account) {
	// ...
}

您可以使用 MVC ConfigMessage Converters 选项来 配置或自定义消息转换。spring-doc.cadn.net.cn

您可以使用@RequestBodyjakarta.validation.Valid或 Spring 的@Validated注解,这两者都会导致应用 Standard Bean Validation。 默认情况下,验证错误会导致MethodArgumentNotValidException,该 转换为 400 (BAD_REQUEST) 响应。或者,您可以在本地处理验证错误 在控制器中,通过ErrorsBindingResult论点 如下例所示:spring-doc.cadn.net.cn

@PostMapping("/accounts")
public void handle(@Valid @RequestBody Account account, BindingResult result) {
	// ...
}
@PostMapping("/accounts")
fun handle(@Valid @RequestBody account: Account, result: BindingResult) {
	// ...
}