发送特定于应用程序的消息

时间:2015-07-03 13:35:29

标签: rest

我们的业务逻辑发生了变化,我们之前使用其中一个API来返回列表,例如。员工名单。最近,我们引入了授权检查,以查看特定用户是否有权查看特定员工。

如果说有10名员工应该通过方法GET返回,由于缺少权限,只返回5。在这种情况下,请求本身是成功的。我目前不确定如何将信息传递回客户,因为缺少权限而有5名员工被过滤掉。

  1. 这应该映射到HTTP状态代码吗?如果是,哪个状态代码适合这个?或者这根本不是错误?
  2. 在这种情况下,最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

状态代码本身不足以表明部分响应。状态代码206按名称听起来很接近,但是当客户端根据标题专门请求部分数据集时使用它。

使用200.毕竟,请求已成功完成,并且数据集较小的原因是您的API专有的,因此响应中的额外元数据可能足以指示消息。

假设JSON响应:

{
    "data": [ ... ],
    "messages": [
        "Only some data was returned due to permissions."
    ]
}

如果您有许多消费者并且担心向后兼容性,您可能还想提供特定于供应商的版本化JSON媒体类型:

"Content-Type": "application/vnd.myorg-v2+json"