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形式のデータを入力すればテストが可能です。
注:Java16から以下メソッド追加されました。
.collect(Collectors.toList());
↓
.toList();

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^



コメント