restful风格接口

197 阅读2分钟

restful诞生的原因:统一接口管理。一套科学的api接口


restful风格接口和传统接口对比:

以员工列表为例子

传统接口:

image.png

传统接口设计思考点:

1、请求路径--见名知意:employee/list大概就是访问员工列表的意思

2、请求方式--一般都会忽略:这里也没有指明什么方式请求

3、请求参数--由需求决定

4、请求响应--由需求决定

传统方式的例子:

wwww.langfeiyes.cn/employee/li… :传统查询全部员工操作

wwww.langfeiyes.cn/employee/ge… :传统查询员工id=1的信息的操作

wwww.langfeiyes.cn/employee/sa… :传统保存员工name=xx的信息的操作

restful风格接口:

image.png

restful风格接口设计思考点:

1、请求路径--由当前接口操作的资源决定,资源的复述作为路径,比如这里的/employees

再举几个粒子:

api/example/com/v1/zoos:动物园资源

api/example/com/v1/animals:动物资源

这里介绍一个api文档借鉴restful风格:docs.jiguang.cn/jmessage/server/rest_api_im/

2、请求方式--restful风格在http请求方法上做了约定

GET(select):从服务器取出资源(一项或多项)

POST(create):在服务器新建一个资源

PUT(update):在服务器更新资源()

PATCH(update):在服务器更新资源

PUT和PATCH的区别是:前者是更新这个对象的所有属性,后者是更新部分属性

DELETE(delete):从服务器删除资源

image.png

上面图片的意思是我要对这个员工进行一个查的操作

restful风格的例子:

http:www/langfeiyes.cn/employees

新增:post

更新:put

删除:delete

查询:get

获取某个部门的所有员工:

GET/employee/getByDeptid --以前的比较随意

GET/departments/{id}/employees -- restful风格

所以也能看出来:传统的路径见名知意=restful路径+请求方式的结合

3、请求参数--由需求决定

4、请求响应--看约定情况,公司该返回什么就返回什么

知识扩展:

image.png

资源的表现形式:

image.png

accept和content-type的区别:

image.png