44 lines
1.3 KiB
Protocol Buffer
44 lines
1.3 KiB
Protocol Buffer
syntax = "proto3";
|
||
package serviceerr;
|
||
|
||
import "errors/errors.proto";
|
||
|
||
option go_package = "./serviceerr/serviceerr;serviceerr";
|
||
|
||
// 全部service共用的错误码,从1-100保留给serviceerr
|
||
enum Err {
|
||
// GRPC项目缺省错误码或显示指定的码必须符合如下链接中定义的http码
|
||
// https://github.com/googleapis/googleapis/blob/master/google/rpc/code.proto
|
||
// 原因:此码为http状态码,在GRPC服务中,输出时会将其转换为grpc的状态码,在客户端调用调用返回err时,
|
||
// 可以使用统一定义生成的err,来判断是否是某种错误,如IsDbNotFound方法,
|
||
// 可以看到方法中调用了errors.FromError,它会将grpc的状态码转换为http状态码
|
||
// 因此需要保证定义的code必须为如上链接中可以相互转换的状态码
|
||
option (errors.default_code) = 500;
|
||
|
||
// 系统panic错误
|
||
SYSTEM_PANIC = 0;
|
||
|
||
// 未登录,401不能滥用,客户端会拉起登录
|
||
NOT_LOGIN = 1;
|
||
|
||
// 统一未找到数据的提示,无特殊业务处理的 reason
|
||
DB_NOT_FOUND = 2;
|
||
|
||
// 参数错误
|
||
PARAM = 3;
|
||
|
||
// 不允许
|
||
NOT_ALLOW = 4;
|
||
|
||
// 异常
|
||
EXCEPTION = 5;
|
||
|
||
// 余额不足
|
||
BALANCE_NOT_ENOUGH = 6;
|
||
|
||
// 密码错误
|
||
PWD_MISMATCH = 7;
|
||
|
||
// 没有找到数据
|
||
NOT_FOUND = 8 [(errors.code) = 404];
|
||
} |