REST资源的最佳实践&x27;s属性级别权限

REST资源的最佳实践&x27;s属性级别权限,rest,Rest,想象一下,您拥有RESTAPI在/API/catalogs/1返回的资源: { items: ['item1', 'item2'], details: ['1', '2', '3'] } 想象一下,您想限制某些用户对某些响应字段的访问。例如,限制对详细信息字段的访问 问题:在这种情况下,哪种答复格式最好 选项1-省略字段 { items: ['item1', 'item2'] } 选项2-返回空字段 { items: ['item1', 'item2']

想象一下,您拥有RESTAPI在
/API/catalogs/1
返回的资源:

{
  items: ['item1', 'item2'],
  details: ['1', '2', '3']
}
想象一下,您想限制某些用户对某些响应字段的访问。例如,限制对
详细信息
字段的访问

问题:在这种情况下,哪种答复格式最好

选项1-省略字段

{
    items: ['item1', 'item2']       
}
选项2-返回空字段

{
    items: ['item1', 'item2'],
    details: null       
}

还有其他选择吗?

这取决于您的需要


但是,如果API使用者不应该知道某个特定属性的存在(或无权访问该属性),则省略该属性比返回
null
值更有意义(一旦它可能导致对API使用者的误解)。

这取决于您的需要


但是,如果API使用者不应该知道某个特定属性的存在(或无权访问该属性),则省略该属性比返回
null
值更有意义(一旦它可能对API使用者造成误解).

我认为你应该避免显示
细节
的存在,除非它为消费者服务。因此,请记住该字段。

我认为您应该避免显示
详细信息
的存在,除非它为消费者提供了真正的用途。那就把那块地挖出来