restful-api规范
restful api适用于在前端与后端进行通信的一套规范。使用这个规范可以让前后端开发变得更加轻松。以下将讨论这套规范的一些设计细节。
协议
采用http或者https协议
数据传输格式
数据之间传输的格式应该都是用json,而不使用xml。
url链接
url链接中,不能有动词,只能有名词。并且对于一些名词,如果出现复数,那么应该在后面加s。
http请求的方法
- GET:从服务器上获取资源
- POST:爱在服务器上创建一个资源
- PUT:在服务器上更新资源。(客户端提供所有改变后的数据)
- PATCH:在服务器上更新资源。(客户端只提供需要改变的属性)
- DELETE:从服务器上删除资源。
示例
- GET/users/:获取所有用户
- POST/user/:新建一个用户
- GET/user/id/:根据id获取一个用户。
- PUT/user/id/:更新某个id的用户的信息。(需要提供用户的所有信息)
- PATCH/user/id/:更新某个id的用户信息(只需要提供需要改变的信息)
- DELETE/user/id/:删除一个用户。
状态码
状态码 | 原生描述 | 描述 |
---|---|---|
200 | OK | 服务器成功响应客户端的请求。 |
400 | INVALID REQUEST | 用户发出的请求有错误,服务器没有进行新建或修改数据的操作 |
401 | Unauthorized | 用户没有权限访问这个请求 |
403 | Forbidden | 因为某些原因禁止访问这个请求 |
404 | NOT FOUND | 用户发送的请求的url不存在 |
406 | NOT Acceptable | 用户请求不被服务器接收(比如服务器期望客户端发送某个字段,但是没有发送) |
500 | Internal server error | 服务器内部错误,比如出现了bug |
4开头的都是用户访问出现的问题,3开头是重定向
面试题:restful api最大的规范是什么: 就是方便迭代更新,因为我们面向对象,每一个功能都是分开的。