【问题标题】:What's the best practice for an "n/a" result when it would normally be a boolean value?当通常是布尔值时,“n/a”结果的最佳实践是什么?
【发布时间】:2019-12-31 03:20:10
【问题描述】:
我正在开发一个提供 JSON 响应的 api。其中一项通常是布尔值,但在某些情况下,它是“n/a”。
我正在考虑的两个选项是:
- 返回类似“N/A”的字符串
- 返回 null 值
第一个选项是“真实的”,但如果有人对 API 的实施不佳,可能会导致误报(尽管对人类读者来说更清楚一点)。第二个结果是“错误的”,但并没有真正为人类读者提供同样清晰的结果。
【问题讨论】:
标签:
json
api
http
https
microservices
【解决方案1】:
我会选择null,这意味着该属性没有任何值,无论它是布尔值、字符串等。它将保持数据类型一致,否则您必须将Boolean 与String 混合使用可能是个坏主意,绝对不会让 API 消费者的生活更轻松。或者保留值字符串并将Boolean 作为String 传递,这听起来也是一种解决方法。
N/A 似乎更像是null 值在消费者方面的代表。顺便说一下,不同的消费者可以用不同的方式来表示它。或者不同的语言环境可能不一样。