V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zisway
V2EX  ›  Java

关于 RPC 接口返回值的规范

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

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

    因为 RPC 通信的特性,必然会遇到服务端超时 /不可用的情况,所以最好的方法是异常+状态码组合使用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2888 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:24 · PVG 22:24 · LAX 07:24 · JFK 10:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.