SpencerCJH 最近的时间轴更新
SpencerCJH

SpencerCJH

我想做一个后端扫地僧
V2EX 第 394561 号会员,加入于 2019-03-23 11:34:35 +08:00
59 S 41 B
专硕在混
SpencerCJH 最近回复了
啊沉了……我补充一下我得 base 上海,或者 remote……别的地方我去不了。
226 天前
回复了 mqycn 创建的主题 程序员 会了吧插件 jetbrains 用户收集贴
我 jb 脑残粉了,安排一下 jb 的谢谢,到时候第一个下🐕
我搞定了。。grpc gateway 生成的 swagger config yaml(json) file 够用了,照着这个东西来设计整套权限 schema
说加分的,都是差学校出来的。说不加分的,都是名校出来的。成了,哈哈哈!
哎我真的是傻逼来回这个月经贴。。。
pycharm 里的工具,应该是 pip+venv 吧。我一写 Java 的并不想学太多 python 的东西。。。
软件开发当然是自由的,想怎么搞就可以怎么搞,没有最好的方案与设计,大家对软件工程有追求的话还是看看国外大厂是怎么做的。
@leon0903 我公司组里这边的项目都是用 HTTP Code 的。因为 Google Api Design 里规定好了用什么 code 。错误消息的格式都是固定的:

{
"error": {
"code": 401,
"message": "Request had invalid credentials.",
"status": "UNAUTHENTICATED",
"details": [{
"@type": "type.googleapis.com/google.rpc.RetryInfo",
...
}]
}
}

具体参考: https://cloud.google.com/apis/design/errors

HTTP RPC 说明
200 OK 无错误。
400 INVALID_ARGUMENT 客户端指定了无效参数。如需了解详情,请查看错误消息和错误详细信息。
400 FAILED_PRECONDITION 请求无法在当前系统状态下执行,例如删除非空目录。
400 OUT_OF_RANGE 客户端指定了无效范围。
401 UNAUTHENTICATED 由于 OAuth 令牌丢失、无效或过期,请求未通过身份验证。
403 PERMISSION_DENIED 客户端权限不足。可能的原因包括 OAuth 令牌的覆盖范围不正确、客户端没有权限或者尚未为客户端项目启用 API 。
404 NOT_FOUND 找不到指定的资源,或者请求由于未公开的原因(例如白名单)而被拒绝。
409 ABORTED 并发冲突,例如读取 /修改 /写入冲突。
409 ALREADY_EXISTS 客户端尝试创建的资源已存在。
429 RESOURCE_EXHAUSTED 资源配额不足或达到速率限制。如需了解详情,客户端应该查找 google.rpc.QuotaFailure 错误详细信息。
499 CANCELLED 请求被客户端取消。
500 DATA_LOSS 出现不可恢复的数据丢失或数据损坏。客户端应该向用户报告错误。
500 UNKNOWN 出现未知的服务器错误。通常是服务器错误。
500 INTERNAL 出现内部服务器错误。通常是服务器错误。
501 NOT_IMPLEMENTED API 方法未通过服务器实现。
503 UNAVAILABLE 服务不可用。通常是服务器已关闭。
504 DEADLINE_EXCEEDED 超出请求时限。仅当调用者设置的时限比方法的默认时限短(即请求的时限不足以让服务器处理请求)并且请求未在时限范围内完成时,才会发生这种情况。

例子
HTTP RPC 错误消息示例
400 INVALID_ARGUMENT 请求字段 x.y.z 是 xxx,预期为 [yyy, zzz] 内的一个。
400 FAILED_PRECONDITION 资源 xxx 是非空目录,因此无法删除。
400 OUT_OF_RANGE 参数“age”超出范围 [0,125]。
401 UNAUTHENTICATED 身份验证凭据无效。
403 PERMISSION_DENIED 使用权限“xxx”处理文件“yyy”被拒绝。
404 NOT_FOUND 找不到资源“xxx”。
409 ABORTED 无法锁定资源“xxx”。
409 ALREADY_EXISTS 资源“xxx”已经存在。
429 RESOURCE_EXHAUSTED 超出配额限制“xxx”。
499 CANCELLED 请求被客户端取消。
500 DATA_LOSS 请参阅备注。
500 UNKNOWN 请参阅备注。
500 INTERNAL 请参阅备注。
501 NOT_IMPLEMENTED 方法“xxx”未实现。
503 UNAVAILABLE 请参阅备注。
504 DEADLINE_EXCEEDED 请参阅备注。

以登录和注册为例,用户已经存在(名字,id 重复什么的)就是 409 ALREADY_EXISTS ;密码错误是 401 UNAUTHENTICATED ;找不到这个用户是 404 NOT_FOUND ;
看起来不错
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2091 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 05:45 · PVG 13:45 · LAX 22:45 · JFK 01:45
♥ Do have faith in what you're doing.