关于 RPC 接口返回值的规范

2019-06-05 19:29:20 +08:00
 zisway
RPC 接口返回值一般有两种形式,一种是用 Result 对象包装,可能对不同语言调用来说会更好,也是阿里规范建议的。另一类是不包装,错误码以业务异常的形式抛出。个人倾向于抛异常的形式,因为 Result 解析对于调用者会比较麻烦,例如需要先判断 Result 的 code 是否是成功状态。而抛业务异常,就比较方便,调用者调用接口时 catch 住业务异常,此外考虑性能问题,可以使业务异常只包含当前异常栈。大家更倾向于哪一种呢,或者是还有其他形式?
3591 次点击
所在节点    Java
1 条回复
hyperdak288
2019-06-06 00:09:01 +08:00
http://blog.sina.com.cn/s/blog_e59371cc0102v81w.html

参考这个文章,原文没找到,随手找了一个转载的文章。

因为 RPC 通信的特性,必然会遇到服务端超时 /不可用的情况,所以最好的方法是异常+状态码组合使用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/571248

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX