不管是做后台、微服务、前后端分离,第一步永远是写接口。
这一节我带你从零开始,一次性学会:
-
GET 查询
-
POST 新增
-
PUT 修改
-
DELETE 删除
一、先搞懂:REST 风格是什么?
简单记 4 个规范:
-
GET
:查询数据(查)
-
POST
:新增数据(增)
-
PUT
:修改数据(改)
-
DELETE
:删除数据(删)
不用记复杂理论,会用这 4 个注解就算学会 REST。
二、第一步:创建项目 & 必备依赖
只需要一个依赖:
go
1<dependency>
2<groupId>org.springframework.bootgroupId>
3<artifactId>spring-boot-starter-webartifactId>
4dependency>
三、第二步:写第一个统一返回结果
前后端分离必须用统一格式:
go
1importlombok.Data;
2
3@Data
4publicclassResult<T>{
5privateint code;
6privateString msg;
7privateT data;
8
9publicstatic<T>Result<T>success(T data){
10Result<T> r =newResult<>();
11 r.setCode(200);
12 r.setMsg("成功");
13 r.setData(data);
14return r;
15}
16
17publicstatic<T>Result<T>fail(String msg){
18Result<T> r =newResult<>();
19 r.setCode(500);
20 r.setMsg(msg);
21return r;
22}
23}
四、第三步:4 种接口实战
1. GET(查询)
go
1@RestController
2@RequestMapping("/user")
3publicclassUserController{
4
5// 查询单个用户
6@GetMapping("/{id}")
7publicResult<String>getById(@PathVariableInteger id){
8returnResult.success("查询到用户:"+ id);
9}
10
11// 多条件查询
12@GetMapping("/list")
13publicResult<String>list(String name,Integer age){
14returnResult.success("查询列表:name="+ name +", age="+ age);
15}
16}
2. POST(新增)
go
1// 新增用户(JSON 格式)
2@PostMapping
3publicResult<String>add(@RequestBodyUser user){
4returnResult.success("新增成功:"+ user.getUsername());
5}
3. PUT(修改)
go
1// 修改用户
2@PutMapping
3publicResult<String>update(@RequestBodyUser user){
4returnResult.success("修改成功:"+ user.getId());
5}
4. DELETE(删除)
go
1// 删除用户
2@DeleteMapping("/{id}")
3publicResult<String>delete(@PathVariableInteger id){
4returnResult.success("删除成功:"+ id);
5}
五、第四步:实体类 User
go
1importlombok.Data;
2
3@Data
4publicclassUser{
5privateInteger id;
6privateString username;
7privateInteger age;
8}
六、测试接口
-
GET:
http://localhost:8080/user/1 -
GET:
http://localhost:8080/user/list?name=张三 -
POST:JSON 格式提交
-
PUT:JSON 格式提交
-
DELETE:
http://localhost:8080/user/1
七、必须记住的 5 个注解
-
@RestController:返回 JSON,不走页面
-
@RequestMapping:统一前缀
-
@GetMapping:查询
-
@PostMapping:新增
-
@RequestBody:接收 JSON
八、容易踩的坑
- 忘记加 @RestController → 404
- POST 没加 @RequestBody → 接收不到 JSON
- 请求方式不匹配(用 POST 访问 GET)→ 405
- 路径写错 → 404
- 返回值没统一 → 前端很难对接
九、总结
SpringBoot 写 REST 接口就 3 步:
-
加
@RestController -
用
@GetMapping/@PostMapping/@PutMapping/@DeleteMapping -
接收参数,返回统一结果
学会这一节,你已经具备后台开发基础能力了!