一、准备基础环境
创建
SysUserController/*** (SysUser)表控制层*/@RestController@RequestMapping("sysUser")@RequiredArgsConstructorpublic class SysUserController {private final SysUserService sysUserService;/*** 通过id查询** @param id 主键* @return 单条数据*/@GetMapping("{id}")public SysUser getById(@PathVariable Serializable id) {return this.sysUserService.getById(id);}/*** 新增数据** @param sysUser 实体对象* @return 新增结果*/@PostMappingpublic boolean insert(@RequestBody SysUser sysUser) {return this.sysUserService.save(sysUser);}}
创建
SysUser实体类对象/*** (SysUser)表实体类*/@Datapublic class SysUser implements Serializable {/*主键ID*/private Long id;/*姓名*/private String name;/*年龄*/private Integer age;/*邮箱*/private String email;}
创建
sys_user数据表mysql> select * from sys_user;+-----+--------+-----+--------------------+| id | name | age | email |+-----+--------+-----+--------------------+| 1 | Jone | 18 | test1@baomidou.com || 2 | Jack | 20 | test2@baomidou.com || 3 | Tom | 28 | test3@baomidou.com || 4 | Sandy | 21 | test4@baomidou.com || 5 | Billie | 24 | test5@baomidou.com |+-----+--------+-----+--------------------+6 rows in set (0.02 sec)
二、使用crul命令
- 使用命令,向
SysUserController#getById()方法,发送GET请求:curl http://localhost:8080/sysUser/1
/* 通过id查询 */@GetMapping("{id}")public SysUser getById(@PathVariable Serializable id) {return this.sysUserService.getById(id);}
11475@greamrod-pc-company MINGW64 ~/Desktop/curl$ curl http://localhost:8080/sysUser/1% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 60 0 60 0 0 7500 0 --:--:-- --:--:-- --:--:-- 7500{"id":1,"name":"Jone","age":18,"email":"test1@baomidou.com"}
- 发送
POST请求,并携带JSON数据,来新增一条数据记录:curl -X POST "http://localhost:8080/sysUser" \-d "{\"id\":200,\"name\":\"Jone\",\"age\":18,\"email\":\"Jone@baomidou.com\"}" \-H "Accept:*/*" \-H "Content-Type:application/json"
/* 新增数据 */@PostMappingpublic boolean insert(@RequestBody SysUser sysUser) {return this.sysUserService.save(sysUser);}
11475@greamrod-pc-company MINGW64 ~/Desktop/curl$ curl -X POST "http://localhost:8080/sysUser" \> -d "{\"id\":200,\"name\":\"Jone\",\"age\":18,\"email\":\"Jone@baomidou.com\"}" \> -H "Accept:*/*" \> -H "Content-Type:application/json"% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 65 0 4 100 61 363 5545 --:--:-- --:--:-- --:--:-- 6500true
- 在
curl目录下,创建一个person.json文件,内容如下: ```bash 11475@greamrod-pc-company MINGW64 ~/Desktop/curl $ pwd /c/Users/11475/Desktop/curl
11475@greamrod-pc-company MINGW64 ~/Desktop/curl $ ls -l total 1 -rw-r—r— 1 11475 197609 83 6月 8 15:13 person.json
11475@greamrod-pc-company MINGW64 ~/Desktop/curl $ cat person.json { “id”:200, “name”: “Jone”, “age”: 18, “email”: “test1@baomidou.com” }
- 发送`POST`请求,并携带一个`person.json`文件,来新增一条数据记录:<br />> 注意:发送命令时,将目录切换到`person.json`文件所在的目录```bashcurl -v -X POST -d @person.json http://localhost:8080/sysUser \--header "Accept: application/json, application/*+json" \--header "Content-Type:application/json"
/* 新增数据 */@PostMappingpublic boolean insert(@RequestBody SysUser sysUser) {return this.sysUserService.save(sysUser);}
11475@greamrod-pc-company MINGW64 ~/Desktop/curl$ curl -v -X POST -d @person.json http://localhost:8080/sysUser \> --header "Accept: application/json, application/*+json" \> --header "Content-Type:application/json"Note: Unnecessary use of -X or --request, POST is already inferred.% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying ::1:8080...* Connected to localhost (::1) port 8080 (#0)> POST /sysUser HTTP/1.1> Host: localhost:8080> User-Agent: curl/7.70.0> Accept: application/json, application/*+json> Content-Type:application/json> Content-Length: 73>} [73 bytes data]* upload completely sent off: 73 out of 73 bytes* Mark bundle as not supporting multiuse< HTTP/1.1 200< Content-Type: application/json< Transfer-Encoding: chunked< Date: Tue, 08 Jun 2021 08:00:10 GMT<{ [9 bytes data]100 77 0 4 100 73 250 4562 --:--:-- --:--:-- --:--:-- 4812true* Connection #0 to host localhost left intact
- 发送
GET请求,并携带参数,来新增一条数据记录:curl -X GET "http://localhost:8080/sysUser?age=30&email=greamrod@qq.com&id=1001&name=greamrod-lost" \-H "Accept:*/*" \-H "Content-Type:application/x-www-form-urlencoded"
/* 新增数据 */@GetMappingpublic boolean insert(Long id, String name, Integer age, String email) {SysUser sysUser = new SysUser(id, name, age, email);return this.sysUserService.save(sysUser);}
11475@greamrod-pc-company MINGW64 ~/Desktop/curl$ curl -X GET "http://localhost:8080/sysUser?age=30&email=greamrod@qq.com&id=1001&name=greamrod-lost" \> -H "Accept:*/*" \> -H "Content-Type:application/x-www-form-urlencoded"% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 4 0 4 0 0 222 0 --:--:-- --:--:-- --:--:-- 235\true
- 发送
POST请求,并携带参数,来新增一条数据记录:curl -X POST "http://localhost:8080/sysUser" \--data "age=20&email=java@qq.com&id=2001&name=java" \-H "Accept:*/*" \-H "Content-Type:application/x-www-form-urlencoded"
/* 新增数据 */@PostMappingpublic boolean insert(@RequestParam("id") Long id, @RequestParam("name") String name, @RequestParam("age") Integer age,@RequestParam(value = "email", required = false) String email) {SysUser sysUser = new SysUser(id, name, age, email);return this.sysUserService.save(sysUser);}
11475@greamrod-pc-company MINGW64 ~/Desktop/curl$ curl -X POST "http://localhost:8080/sysUser" \> --data "age=20&email=java@qq.com&id=2001&name=java" \> -H "Accept:*/*" \> -H "Content-Type:application/x-www-form-urlencoded"% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 46 0 4 100 42 0 8 0:00:05 0:00:05 --:--:-- 0true
