cURL POST request examples
By:Roy.LiuLast updated:2019-08-11
Some cURL POST request examples for self reference.
1. Normal POST
1.1 To POST without data.
$ curl -X POST http://localhost:8080/api/login/
1.2 To POST with data.
$ curl -d "username=mkyong&password=abc" http://localhost:8080/api/login/
1.3 Spring REST to accept normal POST data.
@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 + Multipart
To POST with a file, add this -F file=@"path/to/data.txt"
2.1 Upload a file
$ curl -F file=@"path/to/data.txt" http://localhost:8080/api/upload/
2.2 Upload multiple files, with extra fields :
$ curl -F extraField="abc" -F files=@"path/to/data.txt" -F files=@"path/to/data2.txt" http://localhost:8080/api/upload/multi/
2.3 Spring REST to accept POST Multipart data.
@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
To POST with JSON data, add this -H "Content-Type: application/json"
3.1 On Windows, escape the double quotes
c:\> curl -H "Content-Type: application/json" -X POST -d {\"username\":\"mkyong\",\"password\":\"abc\"} http://localhost:8080/api/login/
3.2 For *nix or Mac OSX, add a single quote
$ curl -H "Content-Type: application/json" -X POST -d '{"username":"mkyong","password":"abc"}' http://localhost:8080/api/login/
3.3 Spring REST to accept POST JSON data.
@PostMapping("/api/login") public ResponseEntity<?> login(@RequestBody Login login) { //..
References
- cURL official website
- Wikipedia – cURL
- Building REST services with Spring
- cURL – Post JSON data to Spring REST
- Spring Boot file upload example – Ajax and REST
From:一号门
Previous:jQuery Ajax submit a multipart form
COMMENTS