RESTAPI强制更新资源

RESTAPI强制更新资源,rest,Rest,RESTAPI允许强制更新的良好实践是什么。如果超出某个范围,正常更新将返回警告 我在想: PUT/myresource/{id}?options=FORCE 放置/myresource/{id},在有效负载中包含可选选项字段 还有更好的办法吗 谢谢 这是一个坏主意,如果你坚持的话,你可能会成功 REST的核心思想是我们有一个统一的接口——所有资源都以相同的方式理解消息。就PUT而言,这意味着我们都理解 请求的目标uri指示给定消息应用于哪个资源。因此,从通用组件的角度来看,PUT/myreso

RESTAPI允许强制更新的良好实践是什么。如果超出某个范围,正常更新将返回警告

我在想:

  • PUT/myresource/{id}?options=FORCE
  • 放置/myresource/{id},在有效负载中包含可选选项字段
  • 还有更好的办法吗

    谢谢

    这是一个坏主意,如果你坚持的话,你可能会成功

    REST的核心思想是我们有一个统一的接口——所有资源都以相同的方式理解消息。就PUT而言,这意味着我们都理解

    请求的目标uri指示给定消息应用于哪个资源。因此,从通用组件的角度来看,
    PUT/myresource/{id}options=FORCE
    意味着“请更新/myresource/{id}options=FORCE的表示形式”

    请注意,故意包含了查询部分,它是主资源标识的一部分

    “/myresource/{id}?options=FORCE”与“/myresource/{id}”是不同的资源标识符,即使URI的层次结构部分相同

    因此,从通用组件(如浏览器或缓存web代理)的角度来看,您提出的请求保留了“/myresource/{id}”的缓存表示形式不变

    您可能可以让它工作:如果仔细阅读,您将看到目标uri不是唯一一个因成功响应不安全请求而失效的uri;缓存还将使位置和内容位置头标识的资源无效

    这样的回答是:

    200 OK
    Content-Location: /myresource/{id}
    
    <<updated representation of /myresource/{id}
    
    200正常
    内容位置:/myresource/{id}
    
    Oracle Cloud对其许多云服务使用?force=true感谢响应。我将考虑在有效载荷中使用标头或可选字段。
    200 OK
    Content-Location: /myresource/{id}
    
    <<updated representation of /myresource/{id}