对于最新的稳定版本,请使用 Spring Framework 6.2.10! |
@RequestBody
您可以使用@RequestBody
注释,让请求正文读取并反序列化为Object
通过HttpMessageConverter
.
以下示例使用@RequestBody
论点:
-
Java
-
Kotlin
@PostMapping("/accounts")
public void handle(@RequestBody Account account) {
// ...
}
@PostMapping("/accounts")
fun handle(@RequestBody account: Account) {
// ...
}
您可以使用@RequestBody
结合使用jakarta.validation.Valid
或 Spring 的@Validated
注释,这两者都会导致应用标准 Bean 验证。
默认情况下,验证错误会导致MethodArgumentNotValidException
,转动
转化为 400 (BAD_REQUEST) 响应。或者,您可以在本地处理验证错误
在控制器内通过Errors
或BindingResult
论点
如以下示例所示:
-
Java
-
Kotlin
@PostMapping("/accounts")
public void handle(@Valid @RequestBody Account account, BindingResult result) {
// ...
}
@PostMapping("/accounts")
fun handle(@Valid @RequestBody account: Account, result: BindingResult) {
// ...
}