no1xsyzy
2021-07-27 11:21:37 +08:00
type Response<T, F> = {code: "SUCCESS", data: T} | {code: F};
例:
{"code": "SUCCESS", data: {"token": "..."}}
{"code": "BAD_LOGIN"}
{"code": "UNKNOWN_ERROR"}
{"code": "SERVER_DOWN"}
说了多少次,不要用数字暧昧地表示状态,用 Symbol 去明确。那样后端调试也不需要查询或记忆 code
成功就是成功不需要 msg,warning 不应当以 toast 形式提供。
(有时返回 http code 444 以实现某些目的)
评论,这问题甚至不值得辩论,因为最优选项显而易见:
#23 差门前一脚,code 的存在毫无意义,enum msg 不就足以提供所有信息了吗?
#25 所说的,应当采用单独的接口传递以实现关注点分离。
#34 那为什么要返回 json,直接 html 返回整个网页解决所有问题。 —— 我确实有这么干的。
#71 接口返回信息不应当用于定位问题,定位问题应当用后端 log,否则可能泄漏代码形态和逻辑。