比方说 updateAndReturn 这个接口,文档中只是说:更新匹配的第一条并返回新后的数据,这我是理解的,就是说数据库中一条记录的 count 值是 3,我 updateAndReturn({count: dbCmd.inc(1)}) 后你直接给我给我返回一个 res 是 4,但这只是更新成功的情况下返回的数据,但是他会存在更新失败的情况啊,总得给个接口返回格式说明吧,你不给说明你是希望我去猜?或者希望我绞尽脑汁的穷举罗列去一种情况一种情况的测试然后再 console.log 吗?我能想到的是更新的记录不存在,于是我去测试了,console.log 出来的结果是 {"updated":0,"doc":null} ,那么这个返回格式将来会一直保持吗?将来变了我现在写的业务逻辑岂不是全都崩溃了?反正到时候你会说:“我们从来没有公开过返回数据格式标准,你业务逻辑中的依据都是你自己猜的,反正世界是一个巨大的草台班子”,那不就扯皮了吗?
好吧,即便我的猜测是对的,即便我猜测的是一个默认存在的标准,他会一直存在并保持向后兼容,可是、可是这个接口除了记录不存在这一种情况下返回错误信息外,还会存在其他各种更新失败的情况啊,那我又该如何去猜??
为什么不能在接口公布的时候就公开一个统一的数据标准呢?比如下面这样:
更新成功返回:{"updated":1,"value":someValue,"msg": "updateAndReturn:ok"}
更新失败返回:{"updated":0,"value":null,"msg": "some reason, e.g. doc:null"}
1 个回复
DCloud_uniCloud_CRL
感谢反馈,我将接口返回值补充至文档。