syntax = "proto3"; package producterr; import "errors/errors.proto"; option go_package = "./productservice/producterr;producterr"; // 服务内部定义的错误码 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) = 2; // 未找到数据 NOT_FOUND_DB = 0; }