情景介绍
公司写了个新功能,要求各个项目组接入一下。
然后同事给我们发了一份接口文档(良心,竟然不是口头约定,有真实文档)。
然后 我们对其中一个参数名,进行了”友好“协商。
这里他提到一个参数名是order_id
一般来说订单表会有两个字段,一个是自增长主键id一个是订单号order_no
对外自增长主键直接使用id称呼不太好,一般都是order_id来称呼。
然后问题来了,这里它使用的参数名是order_id,我和其他同事理解为订单的自增长主键id。
经过询问得知,并不是,这里实际使用的是自定义的订单号,也就是实际使用的order_no。
然后我们希望他能修改一下这个参数名(不然看着别扭)。
同事问道:“我为什么要这么修改,这个order_id和order_no有啥区别呢”
嗯,,,,看着别扭?
这样明显不行,但是本人一时间也不知道怎么给一个合理的解释。
那,问问懂的人——
询问大佬,为什么我们订单号要使用order_no 而不是order_id
大佬回答如下
order_no 是给用户看的,其它地方用 order_id
你看支付宝微信也都是 out_trade_no
no 就是 number (拉丁语 numero)比如常见的 No. 1
你可以理解为 order_no 是给人看的序列号,就是个字符串而已,里面写汉字甲乙丙丁都无所谓
order_id 是给机器看的,程序里用,是个数字(不管是 int 还是 uuid 都是数字),查起来比较高效
(只是目前是这么命名的)
如果你要把订单传给另一个系统,选 order_no 的好处是不暴露内部实现给别的系统。
个人理解内部传递使用order_id查询方便快捷,外部对接使用order_no不暴露本身数据。
小小细节,都是知识点。
路漫漫兮其修远呀!!!
最后,那个同事当然没改接口文档呀 T.T