gpt4 book ai didi

rest - 对禁用资源的操作的预期 HTTP 状态代码

转载 作者:可可西里 更新时间:2023-11-01 15:29:01 24 4
gpt4 key购买 nike

在给定以下情况下,操作的预期/正确 HTTP 状态代码是什么:

  • 请求语法正确(去掉400)
  • 用户已通过身份验证(消除 401)
  • 用户被授权执行该操作(消除 403)
  • 位置/资源存在(消除404)
  • 方法实现(消除501)
  • 没有服务器错误(消除 5xx)

资源当前已禁用,因此无法完成操作并获得预期结果。用户可以更改资源的状态并重试相同的请求。响应正文中将包含有关资源无法执行所请求内容的原因的信息。

我的想法是 409 Conflict 将是最好的响应,因为用户可能会更改资源的状态并重新提交请求,但也许有更好的东西可以指示 “这您通常允许方法,但资源当前处于无法按预期完成的状态。”

最佳答案

这似乎是网上的共识,我看不出更好的here . See here for another similar question

409

This code is used in situations where the user might beable to resolve the conflict and resubmit the request.Source

然后跟进

Conflicts are most likely to occur in response to a PUT request. Forexample, if versioning were being used and the representation beingPUT included changes to a resource that conflict with those made byan earlier (third-party) request

这看起来更像是在客户端构建调用时实体在客户端下方移动,也许假设是客户端在进行调用之前要求允许的操作。如果您实现了它,我会说 409 对您的 API 完全有效,因为您为客户端提供了有效请求的能力,除非其他人更改了实体。

显然,您应该保持一致,并记录响应代码及其用法。

关于rest - 对禁用资源的操作的预期 HTTP 状态代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36874263/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com