中亿丰数字前后端接口请求说明书

一、简介

服务器接口设计中最重要的环节之一便是接口请求格式和接口错误码的定义了,通常情况下服务端会定义一些错误码用以指示接口调用者或者用户进行正确的操作。例如接口参数确实、参数非法、无权限访问、用户身份认证信息过期等等类似反馈。

二、请求格式

Page int json:”page”
Size int json”size”
Limit int json:”limit”
Offset int json:”offset”
Sort int json:sort

三、返回格式

1、最简返回示例

Code int json:”code”
Msg string json:”msg”

2、带数据返回示例

Code int json:”code”
Msg string json:”msg”
Data interface{} json:data
Redirect string json:”redirect”
Page int json:”page”
Size int json”size”
Count int json:”count”

四、字段说明

Page:分页码,第几页
Size:分页数量,每页数据条数
Limit: 指定返回记录的数量
Offset:指定返回记录的开始位置
Sort: 排序类型
Code:响应编码,例:0或200成功,401请登录,403无权限,500错误
Count: 数据行总数,针对本层统计多少条记录(行数)
Sum:数据总数,用来汇总该层某一列数据的合计值
Total:数据总数,全部的,完全的,彻底的,一般用于本层和本层以下所有数据总数。
Data:数据,也有用List的,视情况而定
Msg:消息提示语,也有用Message的,视情况而定
Redirect:跳转链接

五、自定义错误码对照表(参考微博开放平台)

1、错误代码声明

首位数字 两位数字 两位数字
1:系统级错误 00:模块未定义 具体错误代码
2:服务级错误 05:服务模块或类别代码

2、系统级错误代码

错误代码 错误信息 详细描述
10001 System error 系统错误
10002 Service unavailable 服务暂停
10003 Remote service error 远程服务错误
10004 IP limit IP限制不能请求该资源
10005 Permission denied, need a high level appkey 该资源需要appkey拥有授权
10006 Source paramter (appkey) is missing 缺少source (appkey) 参数
10007 Unsupport mediatype (%s) 不支持的MediaType (%s)
10008 Param error, see doc for more info 参数错误,请参考API文档
10009 Too many pending tasks, system is busy 任务过多,系统繁忙
10010 Job expired 任务超时
10011 RPC error RPC错误
10012 Illegal request 非法请求
10013 Invalid user 不合法的用户
10014 Insufficient app permissions 应用的接口访问权限受限
10016 Miss required parameter (%s) , see doc for more info 缺失必选参数 (%s),请参考API文档
10017 Parameter (%s)'s value invalid, expect (%s) , but get (%s) , see doc for more info 参数值非法,需为 (%s),实际为 (%s),请参考API文档
10018 Request body length over limit 请求长度超过限制
10020 Request api not found 接口不存在
10021 HTTP method is not suported for this request 请求的HTTP METHOD不支持,请检查是否选择了正确的POST/GET方式
10022 IP requests out of rate limit IP请求频次超过上限
10023 User requests out of rate limit 用户请求频次超过上限
10024 User requests for (%s) out of rate limit 用户请求特殊接口 (%s) 频次超过上限

3、服务级错误代码

错误代码 错误信息 详细描述
20001 IDs is null IDs参数为空
20002 Uid parameter is null Uid参数为空
20003 User does not exists 用户不存在
20005 Unsupported image type, only suport JPG, GIF, PNG 不支持的图片类型,仅仅支持JPG、GIF、PNG
20006 Image size too large 图片太大
20007 Does multipart has image 请确保使用multpart上传图片
20008 Content is null 内容为空
20009 IDs is too many IDs参数太长了
20012 Text too long, please input text less than 140 characters 输入文字太长,请确认不超过140个字符
20013 Text too long, please input text less than 300 characters 输入文字太长,请确认不超过300个字符
20014 Param is error, please try again 安全检查参数有误,请再调用一次
20015 Account or ip or app is illgal, can not continue 账号、IP或应用非法,暂时无法完成此操作
20016 Out of limit 发布内容过于频繁
20017 Repeat content 提交相似的信息
20018 Contain illegal website 包含非法网址
20019 Repeat conetnt 提交相同的信息
20020 Contain advertising 包含广告信息
20021 Content is illegal 包含非法内容
20022 Your ip's behave in a comic boisterous or unruly manner 此IP地址上的行为异常
20031 Test and verify 需要验证码
20032 Update success, while server slow now, please wait 1-2 minutes 发布成功,目前服务器可能会有延迟,请耐心等待1-2分钟
20101
20201
- - -
20301
- - -
20401 Domain not exist 域名不存在
20402 Wrong verifier Verifier错误
- - -
20501 Source_user or target_user does not exists 参数source_user或者target_user的用户不存在
20502 Please input right target user id or screen_name 必须输入目标用户id或者screen_name
20503
20504
20505
20506
20507 Verification code is needed 需要输入验证码
- - -
20601 List name too long, please input text less than 10 characters 列表名太长,请确保输入的文本不超过10个字符
20602 List description too long, please input text less than 70 characters 列表描叙太长,请确保输入的文本不超过70个字符
20603 List does not exists 列表不存在
20604 Only the owner has the authority 不是列表的所属者
20605 Illegal list name or list description 列表名或描叙不合法
20606 Object already exists 记录已存在
20607 DB error, please contact the administator 数据库错误,请联系系统管理员
20608 List name duplicate 列表名冲突
20610 Does not support private list 目前不支持私有分组
20611 Create list error 创建列表失败
20612 Only support private list 目前只支持私有分组
20613 You hava subscriber too many lists 订阅列表达到上限
20614 Too many lists, see doc for more info 创建列表达到上限,请参考API文档
20615 Too many members, see doc for more info 列表成员上限,请参考API文档
- - -
20701 Repeated tag text 不能提交相同的收藏标签
20702 Tags is too many 最多两个收藏标签
20703 Illegal tag name 收藏标签名不合法
- - -
20801 Trend_name is null 参数trend_name是空值
20802 Trend_id is null 参数trend_id是空值
- - -
20901
- - -
21001 Tags parameter is null 标签参数为空
21002 Tags name too long 标签名太长,请确保每个标签名不超过14个字符
- - -
21101 Domain parameter is error 参数domain错误
21102 The phone number has been used 该手机号已经被使用
21103 The account has bean bind phone 该用户已经绑定手机
21104 Wrong verifier Verifier错误
- - -
21301 Auth faild 认证失败
21302 Username or password error 用户名或密码不正确
21303 Username and pwd auth out of rate limit 用户名密码认证超过请求限制
21304 Version rejected 版本号错误
21305 Parameter absent 缺少必要的参数
21306 Parameter rejected OAuth参数被拒绝
21307 Timestamp refused 时间戳不正确
21308 Nonce used 参数nonce已经被使用
21309 Signature method rejected 签名算法不支持
21310 Signature invalid 签名值不合法
21311 Consumer key unknown 参数consumer_key不存在
21312 Consumer key refused 参数consumer_key不合法
21313 Miss consumer key 参数consumer_key缺失
21314 Token used Token已经被使用
21315 Token expired Token已经过期
21316 Token revoked Token不合法
21317 Token rejected Token不合法
21318 Verifier fail Pin码认证失败
21319 Accessor was revoked 授权关系已经被解除
21320 OAuth2 must use https 使用OAuth2必须使用https
21321 Applications over the unaudited use restrictions 未审核的应用使用人数超过限制
21327 Expired token token过期
21335 Request uid's value must be the current user uid参数仅允许传入当前授权用户uid
- - -
21501 Urls is null 参数urls是空的
21502 Urls is too many 参数urls太多了
21503 IP is null IP是空值
21504 Url is null 参数url是空值
- - -
21601 Manage notice error, need auth 需要系统管理员的权限
21602 Contains forbid world 含有敏感词
21603 Applications send notice over the restrictions 通知发送达到限制
- - -
21701 Manage remind error, need auth 提醒失败,需要权限
21702 Invalid category 无效分类
21703 Invalid status 无效状态码
- - -
21901 Geo code input error 地理信息输入错误

六、通用状态码总体分类

类别 说明 描述
1xx 信息 通信传输协议信息
2xx 成功 表示客户端的请求已成功接受
3xx 重定向 表示客户端必须执行一些其他操作才能完成其请求
4xx 客户端错误 此类错误状态码指定客户端
5xx 服务器错误 服务器负责这些错误状态码

七、通用状态码列表

代码 中文
0 一切都好,一切都很成功。
100 (继续)现在一切正常,继续。
101 (切换协议)有消息,例如升级请求、正在将事物更改为不同的协议。
102 正在发生但尚未完成。
103 (预提示)让你预加载资源,这有助于改进核心网页指标的最大内容绘制指标。
200 (成功)服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
201 (已创建)与 200 类似,但衡量成功的标准是创建了新资源。
202 (已接受)已接受处理请求,但尚未完成。它甚至可能还没有开始。
203 (非授权信息)服务器已成功处理了请求,但返回的信息可能来自另一来源。
204 (无内容 )服务器成功处理了请求,但没有返回任何内容。
205 (重置内容)将文档重置为原始状态,服务器成功处理了请求,但没有返回任何内容。例如,清除表单。
206 (部分内容)只发送了部分内容,服务器成功处理了部分 GET 请求。
207 (多状态 )有更多的响应代码,可能是 2xx、3xx、4xx 或 5xx。
208 (已经报告)客户端告诉服务器之前提到的相同资源。
218 (良好)非官方,Apache 使用
226 (IM 使用)这允许服务器向客户端发送资源的更改(差异)。
300 (多项选择)有不止一种可能的响应,你可能必须选择其中之一。
301 (永久跳转)旧资源现在重定向到新的资源上。
302 (临时跳转 )旧资源现在临时重定向到新资源。
303 (查看其他)这是另一个重定向,表明资源可能在其他地方找到。
304 (无修改)表示页面没有被修改。通常用于缓存。
305 (使用代理)请求的资源仅在你使用代理时可用。
306 (切换代理)你的下一个请求应使用指定的代理。此代码不再使用。
307 (临时重定向)具有与 302 重定向相同的功能,但你不能在 POST 和 GET 之间切换。
307 (HSTS 机制)强制客户端在发出请求时使用 HTTPS 而不是 HTTP。
308 (永久重定向)具有与 301 重定向相同的功能,但你不能在 POST 和 GET 之间切换。
400 (请求错误)客户端请求有问题。它可能格式不正确、无效或太大、或现在服务器无法理解请求。
401 (未授权)请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
402 (支付请求)这没有官方用途,它是为未来的某种数字支付系统保留的。一些商家出于自身原因使用此功能,例如 Shopify在商店未支付费用时使用此功能,而 Stripe 将其用于潜在的欺诈性付款。
403 (阻止访问)客户端已知但没有访问权限。
404 (未找到)未找到请求的资源。
405 (方法不被允许)不支持使用的请求方法,例如,表单需要使用 POST 但使用 GET 代替。
406 (不被接受)客户端请求的接受头不能被服务器完成。
407 (代理身份验证)需要通过代理进行身份验证。
408 (请求超时)服务器已超时、或决定关闭连接。
409 (冲突)请求与服务器状态冲突。
410 (丢失)类似于未找到请求的 404,但这也表示它不会再次可用。
411 (字段长度请求)请求没有包含内容长度字段。
412 (前提条件失败)客户端对服务器的请求不满足设置条件。
413 (超出限制)请求大小超出服务器的限制。
414 (URI 过长)请求的 URI 超出服务器限制。
415 (不支持该格式)服务器不支持请求的格式。
416 (超出范围)客户端请求服务器无法提供的文件部分。例如,它请求文件实际结束位置之外的文件部分。
417 (预期失败)服务器无法满足 “Expect” 请求标头中指示的预期。
419 (页面过期)非官方,Laravel 框架使用。
420 (方法失败)非官方,Spring Framework 使用。
421 (被误导的请求)请求发送到的服务器无法响应。
422 (实体无法处理)请求中存在语义错误。
423 (锁定)请求的资源被锁定。
424 (依赖失败)发生此故障是因为它需要另一个同样失败的请求。
425 (过早请求)服务器此时不愿意处理请求,因为请求很可能稍后会再次出现。
426 (需要升级)服务器拒绝请求,直到客户端使用更新的协议。 “升级” 标题中会指出需要升级的内容。
428 (需要先决条件)服务器要求请求是有条件的。
429 (请求过多)这是一种保护服务器的速率限制形式,因为客户端向服务器发送的请求太快了。
430 (请求标头字段太大)非官方,Shopify 使用。
431 请求标头字段太大 – 服务器不会处理请求,因为标头字段太大。
440 (登录超时)非官方,IIS 使用。
444 (无响应)非官方,nginx 使用。
449 (重试)非官方,IIS 使用。
450 (被 Windows 家长控制阻止)非官方,Microsoft 使用。
451 (因法律原因不可用)由于某种法律原因而被阻止。由于隐私或许可,你有时会在国家级屏蔽中看到它,例如,屏蔽新闻或视频。
451 (重定向)非官方,IIS 使用。
460 非官方,AWS Elastic Load Balancer 使用。
463 非官方,AWS Elastic Load Balancer 使用。
494 (请求标头太大)非官方,nginx 使用。
495 (SSL 证书错误)非官方,nginx 使用。
496 (需要SSL 证书)非官方,nginx 使用。
497 (HTTP 请求发送到 HTTPS 端口)非官方,nginx 使用。
498 (非法 Token)非官方,Esri 使用。
499 (客户端关闭请求)非官方,nginx 使用。
499 (需要 Token)非官方,Esri 使用。
500 (内部服务器错误)服务器遇到某种问题、并且没有更好或更具体的错误代码。
501 (无法实现)服务器不支持请求方法。
502 (网关错误)服务器处于请求中间状态。但是它从它路由到的服务器收到了错误的响应。
503 (暂停服务)服务器因维护而过载或停机,现在无法处理请求。它可能很快就会恢复。
504 (网关超时)服务器处于请求中间状态。但是没有收到来自它路由到的服务器的及时响应。
505 (HTTP 版本不支持)服务器不支持请求中的 HTTP 协议版本。
506 (变体协商 ) 当服务器有多个变体时,允许客户端获得资源的最佳变体。
507 (存储空间不足)服务器无法存储完成请求所需存储的内容。
508 (检测到环路)服务器在尝试处理请求时发现无限循环。
509 (超出带宽限制)非官方,Apache 和 cPanel 使用。
510 (未扩展)在服务器完成请求之前,需要对请求进行更多扩展。
511 (需要网络身份验证)客户端需要在服务器允许访问之前,进行身份验证。
520 (Web 服务器返回未知错误)非官方,Cloudflare 使用。
521 (Web服务器已关闭)非官方,Cloudflare 使用。
522 (链接超时)非官方,Cloudflare 使用。
523 (来源失效)非官方,Cloudflare 使用。
524 (发生超时)非官方,Cloudflare 使用。
525 (SSL链接失败)非官方,Cloudflare 使用。
526 (SSL 证书无效)非官方,Cloudflare 使用。
527 (Railgun 错误)非官方,Cloudflare 使用。
529 (网站超载)非官方,Qualys 使用。
530 非官方,Cloudflare 使用。
530 (站点被冻结)非官方,Pantheon 使用。
561 (未授权)非官方,AWS Elastic Load Balancer 使用。
598 ((非正式)网络读取超时错误)非官方,某些 HTTP 代理使用。

作者:扶云星程

posted @ 2023-03-29 14:55  中亿丰数字科技  阅读(128)  评论(0)    收藏  举报