Api POST'的HTTP错误代码是什么;使用错误的所有权关系删除资源?

Api POST'的HTTP错误代码是什么;使用错误的所有权关系删除资源?,api,rest,Api,Rest,给定,我想创建一个包含许多子资源的资源。 给定的参数如下所示: { "data":{ "name":"foo", "subresources":[ { "id":1 }, { "id":2 } ] } } 如果不允许当前用户查看id为2的子资源,我应该返

给定,我想创建一个包含许多
子资源的资源。
给定的参数如下所示:

{  
    "data":{  
        "name":"foo",
        "subresources":[  
            {  
                "id":1
            },
            {  
                "id":2
            }
        ]
    }
}
如果不允许当前用户查看id为2的子资源,我应该返回什么HTTP错误

我认为:

  • 400:无效的_参数-api入口点级别的验证
  • 422:无效的_记录-模型级别的验证
  • 404:找不到-因为如果用户没有获得
    GET/subresources/2
  • 403:禁止-因为不允许您查看此资源
谢谢你的帮助


更新:我也在考虑403。

如果具有正确凭据的用户能够成功向服务器发出此请求,那么相应的响应将是


在错误消息中,谨慎的做法是指出您希望拒绝请求,因为特定值对该用户不可用;通过这种方式,客户端SAN可以重试其无法访问的任何请求。

请参阅;您可能正在查找“401-未授权”代码。

401未授权是关于身份验证,而不是授权。用户登录在这里,所以我认为401不适合这里。401未授权是关于身份验证,而不是授权。用户登录在这里,所以我认为401不适合这里。@Erem:你能再说一遍吗?你是说“未授权”是关于身份验证的吗?你确定这是正确的吗?我是说401“未经授权验证或你想叫它什么”意味着你提供的凭据不足以识别帐户。是的,我在这里说的是认证。请参阅:授权意味着:“好的,您已登录,但您没有足够的权限执行此操作。”我的声明是否有问题?