怎么设计一个好的接口(一)

之前有面试官问我:怎么设计一个好的接口

结合工作实际做记录:

1.昨天遇到一个接口,入参给了一个售后单id,查询售后单详细,接口内部还需要根据这个id去调调用方查询这个售后单id是哪供应商的,解读这个接口是:给了一个不知道是哪个供应商的售后单id来查询售后单详细,很奇怪不?参数不明确

定义的参数要明确,能让人看懂,你这个接口是干嘛的,这个接口可以加上一个参数,供应商code,就可以解读为:查询某某的供应商的售后单id为某某的售后单详细

2.接口要遵循业务单一职责,特别是基础服务接口,对外的聚合接口可以有一定的业务耦合

3.接口从命名到参数,能看出明确的含义,包括参数,即看到接口,你能看出这个接口干啥的

4.参数和功能最小功能原则,接口不能暴露和处理除了业务外的其他信息

5.命名规范

6.了解业务,举个栗子:之前我们商城的售后是别的团队开发的,考录到团队间的bian边界,我们对外提供了售后的接口,在提供接口时,我把很多接口的入参都是我们的供应商订单号,而不是我们的sha商城的订单号,这回造成什么影响呢,使用者必须知道我们的配货这块的信息,我需要额外提供供应商的配货信息接口,其实对于他来说,只用使用售后接口就行了,现在加了一个一个前提,他们需要了解配货,相当于,我这个接口的一部分信息对外暴露了,我不能控制这部分配货的信息逻辑,所以,我们应该入参是商城的订单id,我们根据商城订单id,找到对应的供应商,找到供应商的售后,我们要封装这段供应商逻辑,不能抛到外面,不可控,也违背迪米特原则:最少知识,降低系统之间耦合。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值