直接抛出问题:
假设有个页面要展示一个商品列表。
商品包含名称,类型,价格三个属性。其中类型在数据库中保存的是整形,1 代表电器,2 代表服装,3 代表食品...
后端使用了微服务架构,请求过程是这样的:
web 请求提供 web 接口的服务 A,服务 A 再请求管理商品的服务 B
web -> 服务 A -> 服务 B
web 要展示商品类型的具体值,但是服务 B 从数据库查询出来的商品类型是枚举
那么问题来了,我应该在哪一个层面将枚举转换成具体值,在 web 还是服务 A 还是服务 B。
我以前是认为一律在展示层做枚举的转换最好(因为我是写后端的,省事)。但是如果客户端是苹果 App,因为 app 不能随时修改,在枚举值有变化时就会出问题。
看同事的代码在哪一层转换的都有,但是我就是纠结,我希望有个规范。
1
prasanta 2018-05-21 11:01:35 +08:00 via Android
都需要啊
|
2
009694 2018-05-21 11:03:54 +08:00 via iPhone
返回原始值的同时返回枚举列表啊
|
5
USNaWen 2018-05-21 11:33:31 +08:00
如果你的枚举列表要变动,那就每次都返回枚举+值。
如果写死 or 有同步机制,可以只返回值。(务必写好文档不然维护会哭的。) 不然就放在 A,web 和客户端没法实时修改,B 涉及出入库不好动。 |