Spring BootのRestControllerでJSONを引数で渡す方法

Spring BootのRestControllerでJSONを引数で渡す方法

REST APIにREST形式でString型やInteger型を渡すことができますが、JSON形式のデータを渡すことも可能です。

RequestMappingにconsumes = MediaType.APPLICATION_JSON_VALUEを追加します。(Spring3.1から追加されています)

consumesを指定することによってこのメソッドが受け取るHTTPヘッダのContent-Typeを制限します。

@RestController
public class UserController3 {

  @RequestMapping(path = "/json", method = RequestMethod.POST,consumes = MediaType.APPLICATION_JSON_VALUE)
  public List  jsontest(@RequestBody Employee[] emp) {
    // 名前だけ取得する
    List list = Arrays.stream(emp).map(e->e.getName()).collect(Collectors.toList()); // 注
    return list;
  }
}
@Getter
@Setter
class Employee {
  private Integer id;
  private String name;
}

ARCでJSON形式のパラメータを渡すテストをすることができます。

「Body」-「application/json」でJSON形式のデータを入力すればテストが可能です。

Spring BootのRestControllerでJSONを引数で渡す方法

注:Java16から以下メソッド追加されました。

.collect(Collectors.toList());

.toList();

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました