cURL - Exemples de requêtes POST
Quelques exemples de requêtes POSTcURL pour référence personnelle.
1. POST normal
1.1 To POST without data.
$ curl -X POST http://localhost:8080/api/login/
1.2 To POST with data.
$ curl -d "username=example&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
Pour POST avec un fichier, ajoutez ce-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
Pour POST avec des données JSON, ajoutez ce-H "Content-Type: application/json"
3.1 On Windows, escape the double quotes
c:\> curl -H "Content-Type: application/json" -X POST -d {\"username\":\"example\",\"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":"example","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) { //.. }