order_no 与 order_id的区别

情景介绍

公司写了个新功能,要求各个项目组接入一下。

然后同事给我们发了一份接口文档(良心,竟然不是口头约定,有真实文档)。

然后 我们对其中一个参数名,进行了”友好“协商。


这里他提到一个参数名是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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容