RESTful 接口设计
创始人
2024-01-28 19:13:47

文章目录

  • RESTful 接口设计
    • 1.获取所有员工列表
    • 2.增加一个员工
    • 3.更新员工
    • 4.删除员工
    • 5.查询单个员工


RESTful 接口设计

1.获取所有员工列表

/*** 获取所有员工* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--get* 3. 请求参数--无* 4. 请求响应--多个员工--List--json*/
@RequestMapping(value = "/employees", method = RequestMethod.GET)
@ResponseBody
public List list(){//查询MySQL数据库得到员工列表信息//假装查询数据库List list = Arrays.asList(new Employee(1L, "大王", 18),new Employee(2L, "小李", 19),new Employee(3L, "小查", 20));return list;
}

在这里插入图片描述

2.增加一个员工

/*** 增加一个员工* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--POST* 3. 请求参数--Employee* 4. 请求响应--Employee--json*/
@RequestMapping(value = "/employees", method = RequestMethod.POST)
@ResponseBody
public Employee add(Employee employee){//假设添加员工employee.setId(1L);return employee;
}

在这里插入图片描述

3.更新员工

/*** 更新一个员工* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--PUT* 3. 请求参数--id,name,age* 4. 请求响应--Employee--json*/
@RequestMapping(value = "/employees", method = RequestMethod.PUT)
@ResponseBody
public Employee update(Employee employee){//假设添加员工employee.setName(employee.getName() + "_update");return employee;
}

在这里插入图片描述

4.删除员工

添加一个统一的接口响应对象
在域名反写的包下,新建一个Java文件util.JsonResult

package org.chad.util;import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;//统一的接口响应对象
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class JsonResult {private int code;  //请求状态码 成功200 操作失败500 没有登录403private String msg; //请求操作之后的返回信息private Object data; //请求的响应数据public static JsonResult error(String msg){return new JsonResult(500, msg, null);}public static JsonResult error(String msg, Object data){return new JsonResult(500, msg, data);}public static JsonResult success(){return new JsonResult(200, "操作成功", null);}public static JsonResult success(Object data){return new JsonResult(200, "操作成功", data);}
}

编写删除员工的代码

/*** 删除一个员工* 1. 请求路径--确认资源--员工--/employees* 2. 请求方法--DELETE* 3. 请求参数--id* 4. 请求响应--删除之后的状态--jsonResult--json** jsonResult:统一的响应返回值** {*     code:200,*     msg:"操作成功”,*     data:null* }*/
@RequestMapping(value = "/employees", method = RequestMethod.DELETE)
@ResponseBody
public JsonResult delete(Long id){return JsonResult.success();
}

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

5.查询单个员工

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

我们会发现运行不起来

查询所有员工接口:/ employees GET
查询单个员工接口: /employees GET
上面2个接口映射路径与请求方法完全相同,Spring MVC认为是同一个接口,下能同时存在,此时怎么办?
方案1:使用多级路経方式比如:/ employees / detail
方案2:使用参数路怪方式比如:/ employees /{ id }将请求参数作为路径一部分,进打 url 区分。
参数路径:/ employees /( id } 其中{ id }参数占位符
客户端访问 http://Localhost:80/employees/1 1就是 id 参数值
注意点:
接口要获取参数路経中参数必须使用注 @PathVariable ,目的是让 springmvc 参数解析器从路径中解析出参数并进行赋值。如果参数路怪中的占位符名称与请求映射方法形式参数名称不一致时,必须明确的指定映射
“/ employees /( eid }”—>@ PathVariable (" eid ") Long id

改变后

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

在这里插入图片描述

至此可以正常查询

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
上海有几个区 最新上海16区划... 你平常会使用地图吗?一幅标准的地图可以帮助我们解决很多问题。自然资源部最新公布了长三角标准地图,上海...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
男生摸女生胸 同桌把我带到卧室... 所谓“酒色财气”,酒与色往往是连在一起的,澳洲有个医学生,就因为两次酒后猥亵自己的同学,几乎葬送了自...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...