对于我正在使用某个Nodejs
API的某个内部端点,系统要求我根据属性status
的值动态更改属性visibility
的值在发送响应之前,对同一个对象进行操作。
例如,假设我有一个代表用户个人资料的对象。用户可以visibility
处于活动状态或隐藏状态,但是status
可以空闲,创建,更新。
我要问的是,当我发送包含这两个属性的对象响应时,我会基于status
的当前值用另一个覆盖visibility
的值-因此,如果{{1} }处于活动状态,那么我应该将visibility
设置为 ACTIVE ,如果status
是 HIDDEN ,则visibility
应该是 INACTIVE < / strong>(数据库内部或此对象的枚举列表中不存在的两个状态值),然后如果status
不是 IDLE ,我也应该将其值更改为忙
因此,我不仅基于status
的值来更改其值,而且还基于其自身的值而不是值来更改其值!
我只是想知道这是否对API来说是一种好习惯(除了一些怪异的额外复杂性,以及如此之多的不一致性,因为客户端稍后也会根据状态要求相同的对象,这意味着反向映射)?
答案 0 :(得分:0)
status
对于不同的用户而言并不意味着相同,拥有相同的名称可能会引起混淆,但如果有据可查,则不是问题。
如果映射变得太复杂,则始终可以保留两个值,但是必须保持它们同步。