受到阿里规范的影响,大多数项目会采用Result统一返回
但是这个是真的有必要的吗
好处:统一返回值,前端/第三方通过code可统一处理结果
坏处:系统内部不易于处理,需要处理Result转到JSON转到JAVA,而且更不利于异常的处理,反而增加了系统风险
但是为了解决系统内部调用问题,变为对外接口使用Result 对内接口不使用Result
就会造成接口复用性变差,很多接口需要出两套接口,实际内部逻辑都是一个Service,是否有必要呢?
大家有什么合适的处理方案吗
http://t.csdn.cn/E3krL这篇文章讲的不错
没有什么必要的规范。但是大公司会有更多的规范,道理很简单,那就是你说的复用性变差,代码啰嗦这些副作用,相对大公司的沟通成本,人员变动成本来说,是必须承受的代价。
【以下回答由 GPT 生成】
针对上述问题,可以考虑以下解决方案:
网络传输优化:可以使用二进制传输替代 JSON 进行网络请求,例如使用 Protocol Buffers 或 MessagePack 等。这样可以减少网络传输的带宽占用和数据的序列化及反序列化时间。
异常处理优化:在系统内部,可以使用全局异常处理来优化异常处理的复杂度。通过统一处理异常,可以避免在每个方法中都进行异常捕获和处理。可以通过在统一异常处理中返回自定义的错误码和错误信息,以便前端和第三方能够理解和处理。
接口设计优化:可以在业务设计中合理划分内部接口和对外接口。对于只在内部使用的接口,可以考虑不使用 Result 统一返回,而是直接返回具体的业务数据。对于对外接口,仍然可以使用 Result 进行统一返回。这样可以在保证系统内部操作简单的同时,对外接口的使用也更加友好。
兼容支持方案:对于已经使用 Result 统一返回的系统,可以通过引入适配器的方式,将内部接口适配成符合外部接口的形式。这样可以在保证接口重用性的同时,也能够使用统一的返回形式。
以上是我个人的解决方案。在实际情况中,需要根据项目的实际情况和需求来选择合适的方案。希望能对你有所帮助。
参考链接:http://t.csdn.cn/E3krL
【相关推荐】