【发布时间】:2018-09-15 11:20:24
【问题描述】:
序列化具有相同类型(编程方式)但不同“含义”和不同逻辑应该处理的互斥数据的最佳实践是什么?
例如,假设我们要设计一个处理帐户恢复的 API。它可以通过电子邮件或短信(后端的不同逻辑)来完成。
所以如果我们想向这个 API 发送一个请求,我们可以动态地处理它,即客户端发送:
{"email":"my@email.com"}
或
{"phone":"+123456789"}
或者,我们设置一个“类型安全”的 json,即:
{"type":"email", "value":"my@email.com"}
或
{"type":"phone", "value":"+123456789"}
这两种方法中哪一种被认为是更好的做法?
【问题讨论】:
-
如果有可能发送其中一个而不发送另一个,那么第二个更好,但如果每次都发送,那么第一个更好。
标签: json api-design