SpringbootでJSONパラメータを受け取る方法
Spring Boot では、@RequestBodyアノテーションを使用して JSON パラメータを受け取ることができます。
例えば、POSTリクエストがあり、リクエストボディがnameとageという2つのフィールドを含むJSONオブジェクトである場合、以下の手順に従ってJSONパラメータを受信できます。
- @RequestBody
@PostMapping("/example")
public void handleRequest(@RequestBody ExampleRequest request) {
// 处理请求
}
- Java クラスを作成して、JSON オブジェクトを表し、クラス内に対応するフィールドを定義します。
public class ExampleRequest {
private String name;
private int age;
// 省略getter和setter方法
}
HTTPリクエストを受け取ると、Spring Bootによって、リクエストボディ内のJSONデータがExampleRequestオブジェクトに変換され、handleRequestメソッドのパラメータに自動的にバインドされます。
ご留意ください
- リクエストの Content-Type が application/json であることを確認してください。そうでない場合、Spring Boot はリクエストボディを適切に解析できません。
- JSON変換機能をサポートするためには、pom.xmlファイルに該当する依存関係ライブラリを追加する必要があります。jackson-databindライブラリやその他のJSON変換ライブラリを使用できます。
また、簡潔に書く方法として、@Controllerおよび@ResponseBodyを組み合わせた@RestControllerアノテーションを使う方法もある。@RestControllerアノテーションを用いると、メソッドの戻り値が自動的にJSON形式のレスポンスに変換される。例:
@RestController
public class ExampleController {
@PostMapping("/example")
public ExampleResponse handleRequest(@RequestBody ExampleRequest request) {
// 处理请求
ExampleResponse response = new ExampleResponse();
// 设置响应数据
return response;
}
}
ハンドラーメソッドの戻り値には自動でJSON形式に変換されて、レスポンスとしてクライアントに返します。