最新の安定バージョンについては、Spring Framework 6.2.2 を使用してください!

@RequestBody

@RequestBody アノテーションを使用して、リクエスト本体を読み取り、HttpMessageConverter を介して Object にデシリアライズすることができます。次の例では、@RequestBody 引数を使用しています。

  • Java

  • Kotlin

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

MVC 構成メッセージコンバーターオプションを使用して、メッセージ変換を構成またはカスタマイズできます。

@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) {
	// ...
}