想象一下,您在/api/catalogs/1
处有REST API返回的资源资源:
{
items: ['item1', 'item2'],
details: ['1', '2', '3']
}
想象一下,您希望限制某些用户访问某些响应字段。例如,限制对details
字段的访问权限。
问题:在这种情况下哪种响应格式最好?
选项1 - 省略字段。
{
items: ['item1', 'item2']
}
选项2 - 返回无效字段。
{
items: ['item1', 'item2'],
details: null
}
还有其他选择吗?
答案 0 :(得分:1)
这取决于您的需求。
但是,如果API消费者不应该知道某个特定属性的存在(或者无法访问它),那么省略它更有意义而不是返回 null
值(一旦它可能导致对API使用者的误解)。
答案 1 :(得分:1)
我认为你应该避免显示details
至少存在它对消费者来说是一个真正的目的。所以省略那个领域。