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