深度优先

这个家伙好懒,除了文章什么都没留下

0%

【.Net Core】前后端分离Http状态码定义

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:用户未提供身份验证凭据,或者没有通过身份验证。
    如:验证码错误/账号密码错误/没有携带Token

  • 403 Forbidden:用户通过了身份验证,但是不具有访问资源所需的权限。
    如:没有权限访问此接口

  • 404 Not Found:所请求的资源不存在,或不可用。
    如:删除/更新时资源不存在

  • 409 Conflict:通用冲突,添加/更新时数据已存在。
    如:添加/更新时 如机器码已存在,用户邮箱已存在

  • 422 Unprocessable Entity :验证不通过。
    如:添加/更新时字段校验不过

5XX

  • 500 Internal Server Error:客户端请求有效,服务器处理时发生了意外。
  • 503 Service Unavailable:服务器无法处理请求,一般用于网站维护状态。