menu
書いてる野郎
orebike@gmail.com
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"; }