🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ### 正确使用状态码 HTTP 提供了丰富的状态码供我们使用,正确的使用状态码可以让响应数据更具可读性。 * [ ] 200 OK - 对成功的 GET、PUT、PATCH 或 DELETE 操作进行响应。也可以被用在不创建新资源的 POST 操作上 ***** * [ ] 201 Created - 对创建新资源的 POST 操作进行响应。应该带着指向新资源地址的 Location 头 ***** * [ ] 202 Accepted - 服务器接受了请求,但是还未处理,响应中应该包含相应的指示信息,告诉客户端该去哪里查询关于本次请求的信息 ***** * [ ] 204 No Content - 对不会返回响应体的成功请求进行响应(比如 DELETE 请求) ***** * [ ] 304 Not Modified - HTTP 缓存 header 生效的时候用 ***** * [ ] 400 Bad Request - 请求异常,比如请求中的 body 无法解析 ***** * [ ] 401 Unauthorized - 没有进行认证或者认证非法 ***** * [ ] 403 Forbidden - 服务器已经理解请求,但是拒绝执行它 ***** * [ ] 404 Not Found - 请求一个不存在的资源 ***** * [ ] 405 Method Not Allowed - 所请求的 HTTP 方法不允许当前认证用户访问 ***** * [ ] 410 Gone - 表示当前请求的资源不再可用。当调用老版本 API 的时候很有用 ***** * [ ] 415 Unsupported Media Type - 如果请求中的内容类型是错误的 ***** * [ ] 422 Unprocessable Entity - 用来表示校验错误 ***** * [ ] 429 Too Many Requests - 由于请求频次达到上限而被拒绝访问 ***** 对于错误数据,默认使用如下结构: ``` 'message' => ':message', // 错误的具体描述 'errors' => ':errors', // 参数的具体错误描述,422 等状态提供 'code' => ':code', // 自定义的异常码 'status_code' => ':status_code', // http状态码 'debug' => ':debug', // debug 信息,非生产环境提供 ``` 例如: ~~~ { "message": "422 Unprocessable Entity", "errors": { "name": [ "姓名 必须为字符串。" ] }, "status_code": 422 } ~~~ ~~~ { "message": "您无权访问该订单", "status_code": 403 } ~~~