跳转到内容
彼岸论坛
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[问与答] 很好奇 API 单位的 error code(错误码)到底是怎么整理出来的


小天管理

已推荐帖子

虽然写了挺久项目了,但一直以来都有个疑问,看一些项目提供的 API 文档,为每个 API 单独提供了可能返回的错误码列表,每个 API 不太一样

我很疑惑的一点就是,这种 API 的错误码列表是怎么整理出来的,因为这种列表并不像是能自动分析出来或人力可以总结出来的东西。因为每个 API 内部都会一层层调用各种方法、service 、repository 。

随着业务复杂,经过一层层的不断调用,一个 API 可能不知不觉就间接地调用了某个会抛出错误码的方法你自己都不知道

比如有几个 API

  • 用户信息 GET /user/xxxxx
  • 预约信息 GET /reservation/xxxxx
  • 主页信息 GET /honme
  • 店铺信息 GET /shops

用户信息 API 为了获取到用户信息,调用了 UserInfoRepository.GetUserInfo(xxxxx) 获取用户信息。这个方法可能会甩出 UserNotExists, UserIsdBanned 等错误码,然后这个方法内部还调用了其他的各种工具函数,可能会甩出 UserIDNotCorrect, DBConnectionError ,等等一大堆错误码。

然后预约信息 API 里因为也要获取用户信息,也调用了 UserInfoRepository.GetUserInfo(xxxxx)。这样预约信息 API 也会扔出 UserNotExists, UserIsdBanned 等错误码

然后主页信息 API 里因为需要展示用户预约信息,所以调用了获取预约信息的相关代码,从而间接调用了 UserInfoRepository.GetUserInfo(xxxxx) 这个方法。最后前三个 API 都经过简单或复杂的关联,最终都调用了 UserInfoRepository.GetUserInfo(xxxxx),会甩出同样的错误码。而第四个店铺信息 API 因为和用户无关,所以不会甩出对应错误码

这里就有个问题了,一个错误码经过复杂的调用可能会在任何 API 里被抛出来,似乎没有简单方法来分析一个 API 到底会抛出什么错误码。那么一些为 API 总结出各自错误码的 API 文档是怎么总结出这些错误码的?难道根据语言不同,有对应的代码分析工具?

意见的链接
分享到其他网站

加入讨论

您现在可以发表并稍后注册. 如果您是会员,请现在登录来参与讨论.

游客
回复主题...

×   粘贴为富文本.   粘贴为纯文本来代替

  只允许使用75个表情符号.

×   您的链接已自动嵌入.   显示为链接来代替

×   您之前的内容已恢复.   清除编辑器

×   您无法直接粘贴图片.要从网址上传或插入图片.

  • 游客注册

    游客注册

  • 会员

    没有会员可显示

  • 最新的状态更新

    没有最新的状态更新
  • 最近查看

    • 没有会员查看此页面.
×
×
  • 创建新的...