Http 请求响应状态码
前后端分离开发项目中需要定义接口返回状态码,可能每个公司都有自己的一套规范,传统做法是任何请求都返回状态码200,然后在body里包一层 {code:0,message:'xxxx',result:object},由于现在前端三大框架越来越成熟,更提倡我们采用http响应的状态码来区分请求的接口,每次只需根据状态码来判断,通常情况下不需要特地解析body里面的数据
四个动词
- GET:读取(Read)—>查询操作
- POST:新建(Create)—>添加操作
- PUT:更新(Update)—>修改操作
- DELETE:删除(Delete)—>删除操作
结合拦截器,可根据http状态码 做全局的操作提示
状态码
首先状态码可以大致分为五类:
- 1XX:保持连接
- 2XX:操作成功
- 3XX:重定向
- 4XX:客户端错误
- 5XX:服务端错误
2XX
- GET: 200 OK
- POST: 201 Created
- PUT: 202 Updated
- DELETE: 204 No Content
4XX
401 Unauthorized:用户未提供身份验证凭据,或者没有通过身份验证。
如:验证码错误/账号密码错误/没有携带Token403 Forbidden:用户通过了身份验证,但是不具有访问资源所需的权限。
如:没有权限访问此接口404 Not Found:所请求的资源不存在,或不可用。
如:删除/更新时资源不存在409 Conflict:通用冲突,添加/更新时数据已存在。
如:添加/更新时 如机器码已存在,用户邮箱已存在422 Unprocessable Entity :验证不通过。
如:添加/更新时字段校验不过
5XX
- 500 Internal Server Error:客户端请求有效,服务器处理时发生了意外。
- 503 Service Unavailable:服务器无法处理请求,一般用于网站维护状态。