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

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

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

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

最佳答案 状态代码本身不足以指示部分响应.状态代码206通过名称听起来很接近,但是当客户端基于头部特定地请求部分数据集时使用状态代码206.

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

假设JSON响应:

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

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

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