RESTful 接口设计拓展,接口设计注意事项,注解的简化
创始人
2024-01-29 14:50:02
0

文章目录

  • RESTful 接口设计拓展
    • 1.多参数传递
    • 2.URL拓展
    • 3.RESTful接口注意事项
    • 4.注解的简化


RESTful 接口设计拓展

1.多参数传递

/*** 获取某一个员工,多参数* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--get* 3. 请求参数--id,name,age* 4. 请求响应--一个员工--Employee--json*/
@RequestMapping(value = "/employees/{id}/{name}/{age}", method = RequestMethod.GET)
@ResponseBody
public Employee moreArgsOneList(@PathVariable Long id,@PathVariable String name, @PathVariable int age){return new Employee(id, name, age);
}

postman 显示
在这里插入图片描述

@PathVariable Long id,@PathVariable String name, @PathVariable int age

也可以换成

Employee employee 对象的方式,也是可以成功传递参数的。

2.URL拓展

在这里插入图片描述

参数路径 优缺点

优点:一定程度上隐藏参数
缺点:如果参数较多,url比较长,不优雅

开发时一般时2者混用

3.RESTful接口注意事项

在这里插入图片描述

我们用的时Spring boot 版本的MVC ,spring boot 已经为我们自动装配。
如果是原生MVC的就需要加过滤器

4.注解的简化

package org.chad.controller;import org.chad.domain.Employee;
import org.chad.util.JsonResult;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;import java.util.Arrays;
import java.util.List;/*** 员工的对外接口声明类* 员工的控制层/表现层*/
@RestController //@Controller + @ResponseBody
@RequestMapping("employees")
public class EmployeeController {/*** 获取所有员工* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--get* 3. 请求参数--无* 4. 请求响应--多个员工--List--json*/@GetMapping//@RequestMapping( method = RequestMethod.GET)public List list(){//查询MySQL数据库得到员工列表信息//假装查询数据库List list = Arrays.asList(new Employee(1L, "大王", 18),new Employee(2L, "小李", 19),new Employee(3L, "小查", 20));return list;}/*** 增加一个员工* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--POST* 3. 请求参数--Employee* 4. 请求响应--Employee--json*/@PostMapping//@RequestMapping(method = RequestMethod.POST)public Employee add(Employee employee){//假设添加员工employee.setId(1L);return employee;}/*** 更新一个员工* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--PUT* 3. 请求参数--id,name,age* 4. 请求响应--Employee--json*/@PutMapping//@RequestMapping( method = RequestMethod.PUT)public Employee update(Employee employee){//假设添加员工employee.setName(employee.getName() + "_update");return employee;}/*** 删除一个员工* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--DELETE* 3. 请求参数--id* 4. 请求响应--删除之后的状态--jsonResult--json** jsonResult:统一的响应返回值** {*     code:200,*     msg:"操作成功”,*     data:null* }*/@DeleteMapping //@RequestMapping(method = RequestMethod.DELETE)public JsonResult delete(Long id){return JsonResult.success();}/*** 获取某一个员工* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--get* 3. 请求参数--id* 4. 请求响应--一个员工--Employee--json*/@GetMapping("/{id}") //@RequestMapping(value = "/{id}", method = RequestMethod.GET)public Employee oneList(@PathVariable Long id){return new Employee(id, "张三", 18);}/*** 获取某一个员工,多参数* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--get* 3. 请求参数--id,name,age* 4. 请求响应--一个员工--Employee--json*/@GetMapping("/{id}/{name}/{age}") //@RequestMapping(value = "/{id}/{name}/{age}", method = RequestMethod.GET)public Employee moreArgsOneList(@PathVariable Long id,@PathVariable String name, @PathVariable int age){return new Employee(id, name, age);}
}

做了三件事情
1.路径简化
2.@RestCotroller 代替 @Cotroller + @ResponseBody
3.@GetMapping 代替了 @RequestMapping(method = RequestMethod.GET)

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...