Skip to content

tobycroft/AossGoSdk

Repository files navigation

响应码规范:

错误码和返回码是一个东西,但是表达的意思不同,返回码包括正确返回码和错误返回码,本文档将正确返回码部分称作返回码,返回码中的错误返回码部分称作错误码

固定错误码:

Code	错误码对应含义	错误码使用概念
0	正确	只要是正确就是0
-1/1	未登录	只要未登录就是-1,属于严重的权限问题需要把用户T出系统
400/-400	错误	用于定义一般错误(或者不知道使用何种错误码时使用),例如某些参数未传
401/-401	权限问题	例如一个接口有两种方案,例如方案1用户不能重复,方案2可以,但是默认情况下需要先返回不能执行,直到用户选择“强制操作”来超控接口,所以在用户选择超控前的错误提示,默认错误就是401
402/-402	上传文件故障	部分文件存在一些无法打开等故障(解析),使用402,对于文件已经被上传过等问题使用正常的406-407即可
403/-403	(接口)权限错误	例如某个用户无权限访问本接口,则使用403,如果不确定是否有权限问题,则使用400
404/-404	目标不存在	例如没有该数据,或者该用户,一般使用404定义,特别注意,如果使用CURL获取远远程数据不存在时,使用200报错
406-407	资源不符合预期	资源不符合预期或者已存在时使用406与407,406已存在,407不符合预期,例如用户上传的内容没问题,不触发400,但是上传的内容和我需要的资源不相符或者不是我预期的内容,又或者重复时即可调用本错误码
300/-300	接口程序类错误	例如一些复合Action中出现错误时使用300系列通用错误码,比如资金操作时可能有多重复合情况发生,这些问题又不是太好标注,则这个时候推荐使用300系列错误码
200/-200	远程资源通用故障	例如调用远程接口,因为用户上传数据问题,远程给你返回400,则你返回200,也可作为远程接口通用错误码
204/-204	远程资源不存在	远程接口/文件的状态为404时,则不存在,我方接口返回204错误
203/-203	远程禁止	同上理解
206-207	无法处理远程内容	远程接口返回的内容不符合你的预期时,使用本错误码,当远程的内容你可以处理(过了你的拦截器后)则归类为300系列错误,不应该继续使用200错误码(责任划分)
500/-500	数据库insert错	insert数据出错时,属于500错误,find方法select方法调不到数据,均是404或400错误
501/-501	数据库update错	update出错时使用501错误标注

指定返回码/错误码

Code范围	返回码对应含义	概念拓展范围
±100-199	通知级别	细致的返回code定义,大中小型系统直接用0表示成功即可,无需定义
		例如本接口的data为string,则使用1xx系列返回
		100系列的错误码多用于用户账户类型的错误
±200-299	资源级别	细致的返回code定义,大中小型系统直接用0表示成功即可,无需定义
		例如你的程序有出现调用远程接口,远程接口返回错误时一般使用200系列的错误码来表示
±300-399	复合错误/计算错误	本类型错误主要用于中间件报错或者复合Action调用出错时使用,或用于由程序本体逻辑从而拒绝继续执行时的错误返回
		300错误码仅针对本地(内部调用)出错/终止时使用,实战中请尽量使用2xx/4xx/5xx等更有针对性错误码
±400-499	不符合操作的错误	对非系统故障/计算故障/数据库故障外所有对用户提交的数据进行驳回后所使用的的错误码
	(用户权限导向)	简单而言就是用户提交的数据不在你的允许范围内,则全部使用400标记错误并返回
±500-599	不符合意志的错误	一般不是4xx系列错误的均为5xx错误,一般是逻辑判断处理结束,接下来要执行数据库增删改查动作时,或
	(程序故障导向)	者CURL修改远程数据时,因为从编程上编程者主观上
		是希望本操作能成功的,但是有可能会出现失败,所以只
		要出现失败,这种错误就是5xx错误

响应码细则:

响应码分为-正数响应码和负数响应码,正数响应码定义“有感错误提醒”,负数响应码定义“无感错误提醒”。
 
有感错误提示:例如本错误需要前端将错误通过popup气泡框或者alert框展示出来时,就需要使用正数返回码,需要让客户感知到的(无论弹窗还是气泡)返回码就要用正数返回码
无感错误提示:例如本错误不需要提示,而是直接执行操作,例如未登录时,如不需要弹出“登陆过期”,这样的提示框,则使用负数返回码(-1),如需要弹出提示框提示“登陆过期”,则使用正数返回码(1)

About

AossGoSdk for AOSSTP.X project,这是AOSSTP的Go语言SDK包

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages