RestFull风格及响应状态码
程序员文章站
2022-03-22 10:08:39
RestFull风格概念RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。其实就是一种非常优雅的规范.简单理解,使用名词而非使用动词,并根据请求的方式不同来得到响应的响应.例如 分别实现用户的CRUD操作查询: http://unrestful.com/queryUser?id=1 VS G...
RestFull风格
-
概念
- RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义。RESTFUL适用于移动互联网厂商作为业务使能接口的场景,实现第三方OTT调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。
- 其实就是一种非常优雅的规范.简单理解,使用名词而非使用动词,并根据请求的方式不同来得到响应的响应.
- 例如 分别实现用户的CRUD操作
-
查询: http://unrestful.com/queryUser?id=1
VS
GET方式 http://restful.com/user/1 -
新增 : http://unrestful.com/saveUser
VS
POST方式 http://restful.com/user -
删除 : http://unrestful.com/deleteUser?id=2
VS
DELETE方式 http://restful.com/user/2 -
修改 : http://unrestful.com/updateUser?id=3
VS
PUT方式 http://restful.com/user/3
-
- 例如 分别实现用户的CRUD操作
-
大家都遵循的基本原则
- 请求方式和处理资源的方式匹配
GET (选择):从服务器上获取一个具体的资源或者一个资源列表。
POST (创建): 在服务器上创建一个新的资源。
PUT(更新):以整体的方式更新服务器上的一个资源。
PATCH (更新):只更新服务器上一个资源的一个属性。
DELETE(删除):删除服务器上的一个资源。 - 使用复数名词
/categorys 而不是 /category /users 而不是 /user /products 而不是 /product
- 为集合提供过滤 排序 选择和分页等功能
- 比如在数据过多, 需要对数据进行分页请求的时候, 我们应该统一 API 请求参数. 常见的有这些.
- limit=10 指定返回记录的数量
- offset=10 指定返回记录的开始位置。
- page=2&per_page=100 指定第几页,以及每页的记录数。
- sortby=dept&order=desc 指定返回结果按照哪个属性排序,以及排序顺序。
- 过滤 :使用唯一的查询参数进行过滤:
- GET /rooms?room_num=666 返回指定的room
- Sorting排序: 允许针对多个字段排序
- Field selection
-
移动端能够显示其中一些字段,它们其实不需要一个资源的所有字段,给API消费者一个选择字段的能力,这会降低网络流量,提高API可用性。
GET /cars?fields=manufacturer,model,id,color
-
- 比如在数据过多, 需要对数据进行分页请求的时候, 我们应该统一 API 请求参数. 常见的有这些.
- json数据类型(json字符串和对象之间的转换请查看另一篇博文–JsonUtils工具转换)
- Number:整数或浮点数
- String:字符串(使用较多)
- Boolean:true 或 false
- Array:数组包含在方括号[]中
- Object:对象包含在大括号{}中
- Null:空类型
- Http状态码处理错误
- 请求方式和处理资源的方式匹配
本文地址:https://blog.csdn.net/zwq56693/article/details/107380822