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(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント