业务接口应该返回的值应该是什么?
业务接口的返回值
很简单的一个例子,有一个购物车对外暴露的接口,接口的作用是增加购物车商品的数量。在这个接口的内部又会去调缓存接口,缓存接口返回的值是int类型。代表不同的Code
而这个购物车接口中处理的结果有很多种.
- 系统异常添加失败
- 添加成功
- 该商品的数量超过了限定的数量
- 购物车数量已满
对于这个接口返回的结果也有两种。
- 将上述的失败封装在接口的内部,所以这个接口的返回值应该是一个response,在这个response中会有一个message
- 该接口直接返回接口内部缓存处理的结果,比如说如果是系统异常添加失败返回1,由外部来判断
我目前比较倾向的是用第一种方法,因为缓存接口返回的肯定是Code,不可能是具体的信息的,因为我们不能把购物车的业务杂糅到缓存模块里面。而购物车接口是购物车模块和缓存模块的一个直接交汇处,那么如果把缓存的具体的信息直接处理一下然后给调用方,如果调用方多的话吧缓存结果处理放这个接口里面可以增加代码的复用。但是如果调用方只有一个,那么其实具体返回什么也没有关系了,所以感觉具体的设计还是根据需要变得。就算我现在直接返回Int,因为考虑到现在的业务调用方只有一个。如果以后业务复杂起来,调用方多了,就需要返回response了-----------个人观点
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
http://open.taobao.com/doc/detail.htm?id=101645#s1
可以参考淘宝的错误码 返回 err_code(int)和英文描述(string)
英文描述方为了便开发者调试 前端提示还是用的err_code判断
其实你仔细看看各大开放平台api文档就知道了
微博
腾讯开放平台