常见状态码[通俗易懂]

常见状态码[通俗易懂]常见状态码

大家好,又见面了,我是你们的朋友全栈君。

HTTP 状态码

1xx:指示信息–表示请求已接收,继续处理
2xx:成功–表示请求已被成功接收、理解、接受
3xx:重定向–要完成请求必须进行更进一步的操作
4xx:客户端错误–请求有语法错误或请求无法实现
5xx:服务器端错误–服务器未能实现合法的请求
状态码详解

code 描述 详细解释
200 成功 成功
400 错误请求 该请求是无效的,详细的错误信息会说明原因
401 未授权 验证失败,详细的错误信息会说明原因
403 服务器拒绝请求 被拒绝调用,详细的错误信息会说明原因
404 未找到 服务器找不到请求的地址
405 方法禁用 群容量超出上限,禁止调用
429 太多的请求 超出了调用频率限制,详细的错误信息会说明原因
500 服务器内部错误 服务器内部出错了,请联系我们尽快解决问题
504 网关超时 服务器在运行,本次请求响应超时,请稍后重试

业务返回码

code 描述 详细解释 HTTP 状态码
404 未找到 服务器找不到请求的地址 404
1000 服务内部错误 服务器端内部逻辑错误,请稍后重试 500
1001 App Secret 错误 App Key 与 App Secret 不匹配 401
1002 参数错误 参数错误,详细的描述信息会说明 400
1003 无 POST 数据 没有 POST 任何数据 400
1004 验证签名错误 验证签名错误 401
1005 参数长度超限 参数长度超限,详细的描述信息会说明 400
1006 App 被锁定或删除 App 被锁定或删除 401
1007 被限制调用 该方法被限制调用,详细的描述信息会说明 401
1008 调用频率超限 调用频率超限,详细的描述信息会说明,广播消息未开通时也会返回此状态码。 429
1009 服务未开通 未开通该服务,请到开发者管理后台开通或提交工单申请。 430
1015 删除的数据不存在 要删除的保活聊天室 ID 不存在。 200
1016 设置保活聊天室个数超限 设置的保活聊天室个数超限。 403
1050 内部服务超时 内部服务响应超时 504
2007 测试用户数量超限 测试用户数量超限 403

Android、iOS 状态码

下面列举了 SDK 使用过程中,可能遇上的错误码、原因以及需要进行的处理。

code 原因
-3 参数错误(Android 平台)。
-2 IPC 进程意外终止(Android 平台)。
405 已被对方加入黑名单。
20604 发送消息频率过高, 1 秒钟最多只允许发送 5 条消息。
21406 不在该讨论组中。
22406 不在该群组中。
22408 在群组中已被禁言。
23406 不在该聊天室中。
23408 在该聊天室中已被禁言。
23409 已被踢出并禁止加入聊天室。
23410 聊天室不存在。
23412 聊天室接口参数无效。
23414 聊天室云存储业务未开通。
24012 通话鉴权失败。
24014 实时音视频功能未开启。
24016 实时音视频功能已关闭。
25101 消息撤回时,参数错误。
29106 未关注此公众号。
29201 无效的公众号。(由会话类型和 Id 所标识的公众号会话是无效的)。
30001 当前连接不可用(连接已经被释放)。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
30002 当前连接不可用。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
30003 消息响应超时。
30004 导航 HTTP 发送失败。如果是偶尔出现此错误,SDK 会做好自动重连,开发者无须处理。对于 iOS 平台,如果一直连接不上,应该是您没有设置好 ATS。ATS 默认只使用 HTTPS 协议,当 HTTP 协议被禁止时 SDK 会一直 30004 错误。您可以在我们 iOS 开发文档中搜索到 ATS 设置。
30007 导航 HTTP 请求失败。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
30008 导航 HTTP 返回数据格式错误。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
30010 Socket 不存在,一般由于没有 connect() 引起的。
30011 Socket 连接被断开,主要有两种情况,一是用户主动调用 disconnect 之后,Socket 被服务器断开;二是中间路由原因等导致 Socket 断开。
30012 PING 失败。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
30013 PING 超时。 建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
30014 信令发送失败。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
30015 连接过于频繁。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
30016 消息大小超限,消息体(序列化成 JSON 格式之后的内容)最大 128k bytes。
30017 请求内存分配失败,可能是手机内存不够等原因引起的。
31000 连接 ACK 超时。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
31002 App Key 错误。请检查您使用的 App Key 是否正确。
31003 服务器当前不可用(预留)。 建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
31004 Token 无效。Token 无效一般有以下两种原因。一是 Token 错误,请您检查客户端初始化使用的 App Key 和您服务器获取 Token 使用的 App Key 是否一致;二是 Token 过期,是因为您在开发者后台设置了 Token 过期时间,您需要请求您的服务器重新获取 Token 并再次用新的 Token 建立连接。
31006 连接重定向。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
31007 BundleID 不正确。请检查您 App 的 BundleID 是否正确。
31008 App Key 被封禁或已删除。请检查您使用的 App Key 是否正确。
31009 用户被封禁。请检查您使用的 Token 是否正确,以及对应的 UserId 是否被封禁。
31010 当前用户在其他设备上登录,此设备被踢下线
32061 连接被拒绝。建立连接的临时错误码,SDK 会做好自动重连,开发者无须处理。
33001 SDK 没有初始化,在使用 SDK 任何功能之前,必须先调用 Init。
33002 数据库错误,请检查您使用的 Token 和 userId 是否正确。
33003 开发者接口调用时传入的参数错误,请检查接口调用时传入的参数类型和值。
33007 历史消息云存储业务未开通。
-1000 开发者接口调用时传入的参数错误。请检查接口调用时传入的参数类型和值。

通常自定义状态码

public class ResultCode { 
   
// 成功状态码
public static final int SUCCESS = 1;

// -------------------失败状态码----------------------
// 参数错误
public static final int PARAMS_IS_NULL = 10001;// 参数为空
public static final int PARAMS_NOT_COMPLETE = 10002; // 参数不全
public static final int PARAMS_TYPE_ERROR = 1003; // 参数类型错误
public static final int PARAMS_IS_INVALID = 10004; // 参数无效

// 用户错误
public static final int USER_NOT_EXIST = 20001; // 用户不存在
public static final int USER_NOT_LOGGED_IN = 20002; // 用户未登陆
public static final int USER_ACCOUNT_ERROR = 20003; // 用户名或密码错误
public static final int USER_ACCOUNT_FORBIDDEN = 20004; // 用户账户已被禁用
public static final int USER_HAS_EXIST = 20005;// 用户已存在

// 业务错误
public static final int BUSINESS_ERROR = 30001;// 系统业务出现问题

// 系统错误
public static final int SYSTEM_INNER_ERROR = 40001; // 系统内部错误

// 数据错误
public static final int DATA_NOT_FOUND = 50001; // 数据未找到
public static final int DATA_IS_WRONG = 50002;// 数据有误
public static final int DATA_ALREADY_EXISTED = 50003;// 数据已存在

// 接口错误
public static final int INTERFACE_INNER_INVOKE_ERROR = 60001; // 系统内部接口调用异常
public static final int INTERFACE_OUTER_INVOKE_ERROR = 60002;// 系统外部接口调用异常
public static final int INTERFACE_FORBIDDEN = 60003;// 接口禁止访问
public static final int INTERFACE_ADDRESS_INVALID = 60004;// 接口地址无效
public static final int INTERFACE_REQUEST_TIMEOUT = 60005;// 接口请求超时
public static final int INTERFACE_EXCEED_LOAD = 60006;// 接口负载过高

// 权限错误
public static final int PERMISSION_NO_ACCESS = 70001;// 没有访问权限
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106591.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • random.nextInt()的用法

    random.nextInt()的用法1、不带参数的nextInt()会生成所有有效的整数(包含正数,负数,0)2、带参的nextInt(intx)则会生成一个范围在0~x(不包含X)内的任意正整数例如:intx=newRandom.nextInt(100);则x为一个0~99的任意整数3、生成一个指定范围内的整数/**生成[min,max]之间的随机整数*@parammin最小整数…

    2022年7月22日
  • RuntimeError: CUDA out of memory(已解决)[通俗易懂]

    今天用pytorch训练神经网络时,出现如下错误:RuntimeError:CUDAoutofmemory.Triedtoallocate144.00MiB(GPU0;2.00GiBtotalcapacity;1.29GiBalreadyallocated;79.00MiBfree;1.30GiBreservedintotalbyPyTorch)明明GPU0有2G容量,为什么只有79M可用?并且1.30G已经被PyTorch占用了。

    2022年4月10日
  • Linux基础命令—shutdown

    Linux基础命令—shutdown

    2021年6月15日
  • Java多线程和线程池

    Java多线程和线程池

    2020年11月12日
  • 二进制补码的理解_25的八位原码反码补码

    二进制补码的理解_25的八位原码反码补码正数的原码=反码=补码。负数的原码、反码、补码关系为:     原码= 正数的原码符号位变为1,    反码= 正数的原码取反    补码= 正数的原码取反加1。 补码主要为了计算机进行减法运算。参考1:https://www.cnblogs.com/guanjianzhuo/p/6017291.html参考2:https://www.jia…

    2022年10月21日
  • 什么是用户态和内核态的区别_内核态和用户态的概念

    什么是用户态和内核态的区别_内核态和用户态的概念什么是用户态和内核态从图上我们可以看出来通过系统调用将Linux整个体系分为用户态和内核态(或者说内核空间和用户空间)。那内核态到底是什么呢?其实从本质上说就是我们所说的内核,它是一种特殊的软件程序,特殊在哪儿呢?控制计算机的硬件资源,例如协调CPU资源,分配内存资源,并且提供稳定的环境供应用程序运行。用户态就是提供应用程序运行的空间,为了使应用程序访问到内核管理的资源例如CPU,内存,I/O。内核必须提供一组通用的访问接口,这些接口就叫系统调用。为什么要区分内核态和用户态往往我们的系统的资源是

    2022年9月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号