cURL
自己参照のためのPOSTリクエストの例
1.通常のPOST
1.1データなしでPOSTする。
$ curl -X POST http://localhost:8080/api/login/.... 1.2データをPOSTする。
$ curl -d “username=mkyong&password=abc”
http://localhost:8080/api/login/…
;.
1.3通常のPOSTデータを受け入れるためにRESTを実行します。
@PostMapping("/api/login") public ResponseEntity<?> login(@RequestParam("username") String username, @RequestParam("password") String password) { //... } @PostMapping("/api/login") public ResponseEntity<?> login(@ModelAttribute Login login) { //... }
2. POST +マルチパート
ファイルをPOSTするには、この `-F file = @” path/to/data.txt “`を追加します。
2.1ファイルをアップロードする
$ curl -F file=@"path/to/data.txt" http://localhost:8080/api/upload/.... 2.2余分なフィールドを含む複数のファイルをアップロードする:
$ curl -F extraField=”abc” -F files=@”path/to/data.txt” -F files=@”path/to/data2.txt”
http://localhost:8080/api/upload/multi/…
;.
2.3 POSTのマルチパートデータを受け入れるためのRESTを実行します。
@PostMapping("/api/upload") public ResponseEntity<?> uploadFile( @RequestParam("file") MultipartFile uploadfile) { //... } @PostMapping("/api/upload/multi") public ResponseEntity<?> uploadFiles( @RequestParam("extraField") String extraField, @RequestParam("files") MultipartFile[]uploadfiles) { //... } @PostMapping("/api/upload/multi2") public ResponseEntity<?> uploadFiles2( @ModelAttribute UploadModel model) { //... }
3. POST + JSON
JSONデータをPOSTするには、この
-H" Content-Typeを追加してください:application/json "
3.1 Windowsでは、二重引用符をエスケープする
c:\> curl -H "Content-Type: application/json" -X POST -d {\"username\":\"mkyong\",\"password\":\"abc\"} http://localhost:8080/api/login/.... 3.2 ** nixまたはMac OSXの場合は、一重引用符
$ curl -H “Content-Type: application/json” -X POST -d ‘{“username”:”mkyong”,”password”:”abc”}’
http://localhost:8080/api/login/…
;.
3.3 Spring JSONデータを受け入れるためのREST。
@PostMapping("/api/login") public ResponseEntity<?> login(@RequestBody Login login) { //.. }
参考文献
春と]。リンク://spring/curl-post-json-data-to-spring-rest/[cURL – Post JSON
データをSpring RESTに送信]。リンク://spring-boot/spring-boot-file-upload-example-ajax-and-rest/[Spring
ブートファイルのアップロード例 – AjaxとREST]