Spring Boot / Controller / 入力パラメータ / JSON をうけつける

Spring Boot / Controller / 入力パラメータ / JSON をうけつける

Web の API によくある実装で、request の body に直接 JSON が埋まっているような JSON を受け取る方法。

このような形式のリクエストは HTML 単独では作れないのでなんらかのプログラミングによって実現される。

JavaScript で書くとこんな感じになる

const response = await fetch("/hogehoge/piyopiyo", {
    method: "POST",
    headers: {
        "Content-Type": "application/json"
    },
    body: '{"v1":123,"v2":"hogehoge"}'
});
const result = await response.json();

うけはこのようになる。@RequestBody アノテーションを指定すると受け取りに使っているクラスの setter を使って JSON をマッピングしてくれる。 @ModelAttribute アノテーションと似ているが、RequestBody は JSON の受け取り専門である。

@RequestMapping("/piyopiyo")
public String dododo(@RequestBody  InputForm form) {
    System.out.println(form.getV1());
    System.out.println(form.getV2());
    return "hogehoge";
}
java/spring/spring_boot/controller/input_params/from_json/start.txt · 最終更新: 2021-06-25 17:37 by ore