我们的业务逻辑发生了变化,之前我们使用其中一个 API 返回列表,例如。员工名单。最近我们引入了授权检查,以查看特定用户是否有权查看特定员工。
如果说有 10 个员工应该通过方法 GET 返回,由于缺少权限,只返回 5 个。在这种情况下,请求本身是成功的。我目前不确定如何将有 5 名员工因缺少许可而被过滤掉的信息传回给客户。
最佳答案
状态代码本身不足以指示部分响应。状态代码 206 听起来很接近名称,但在客户端根据 header 专门请求部分数据集时使用。
使用 200。毕竟请求已成功完成,较小数据集的原因是您的 API 专有的,因此响应中的额外元数据指示消息可能就足够了。
假设JSON响应:
{
"data": [ ... ],
"messages": [
"Only some data was returned due to permissions."
]
}
如果您有很多消费者并且担心向后兼容性,您可能还想提供特定于供应商的版本化 JSON 媒体类型:
"Content-Type": "application/vnd.myorg-v2+json"
关于rest - 发送特定于应用程序的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31208167/