Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
2年前关闭。
Improve this question
我正在设计和开发RESTful API。我对API采取了务实的,面向资源的方法(面向资源,统一的接口(interface),可寻址性,但没有真正的HATEOAS)。我不确定的一点是如何处理对象中的空值。
我应该在API响应中包含具有空值的字段吗?
例:
或者,如果系统没有这些字段的数据,我是否应该完全忽略这些字段?
例:
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
2年前关闭。
Improve this question
我正在设计和开发RESTful API。我对API采取了务实的,面向资源的方法(面向资源,统一的接口(interface),可寻址性,但没有真正的HATEOAS)。我不确定的一点是如何处理对象中的空值。
我应该在API响应中包含具有空值的字段吗?
例:
{
"fieldA": "AAA",
"fieldB": null
}
或者,如果系统没有这些字段的数据,我是否应该完全忽略这些字段?
例:
{
"fieldA": "AAA"
}
最佳答案
最近在API-Craft上对此进行了讨论。普遍的共识是,省略值与包含空值之间可能存在语义上的差异。
如果对于您的特定用例没有语义值(value),那么我想说一下您的API的目标使用者,然后考虑忽略该值(value)是否会给他们带来麻烦。