Tags:Restful
Category: Back End
Restful 接口设计规范 VS SOAP
Restful 接口规范
对于资源的具体操作类型,由HTTP动词表示。
-
常用的HTTP动词有下面五个(括号里是对应的SQL命令)。
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。 -
还有两个不常用的HTTP动词。
HEAD:获取资源的元数据。
OPTIONS:获取信息,关于资源的哪些属性是客户端可以改变的。 -
举例接口规范 GET /employees 列出所有员工 POST /employees 新建一个员工
GET /employees/:id 获取指定员工信息 DELETE /employees/:id 删除指定员工信息 -
HTTP 动词
- GET 从服务器取出一项或者多项资源
- POST 在服务器新建一个资源
- PUT 在服务器更新资源 (客户端提供改变后的完整资源?)
- PATCH 在服务器更新资源 (客户端提供改变的属性?)
- DELETE 从服务器删除资源
- 过滤信息 使用url参数添加一些过滤信息
- ?sortBy=name&order=asc 根据name来排序并且升序
- ?limit=10 返回记录限制为10条 ....
- 常见的返回状态码
- 200 OK [GET]
- 201 CREATED [POST,PUT,PATCH] 用户新建或者修改数据成功
- 400 INVALID REQUEST [POST,PUT,PATCH] 用户发出的请求有误(E.g.服务器必须的参数用户没有提供)
- 401 Unauthorized 用户没有权限(令牌,用户名,密码错误)
- 403 Forbidden 表示用户得到了授权, 但是访问是被禁止的(没有访问该资源的权限)
- 404 NOT FOUND 用户发出的请求资源是不存在的
- 500 服务器内部处理错误, 用户无法判断请求是否成功
- 其他
- API身份验证应该使用OAuth 2.0框架
- 服务器放回数据格式,应该尽量使用JSON,避免XML
SOAP
- SOAP 提供了自己的协议并专注于公开某些应用逻辑(不是数据)为服务。SOAP 公开的是操作。SOAP 专注于访问通过不同的接口实现了某些业务逻辑的命名操作。
转载并截取自RESTful API 设计指南 soap和rest的区别