当前位置: 首页 > 知识库问答 >
问题:

创建资源REST API补丁方法

鲜于浩淼
2023-03-14

使用JSONAPI1.0标准设计API,没有PUT方法。只有用于创建资源的POST方法和用于部分更新的修补程序。我们有这样的用例:用户可以向服务器发送请求,如果资源不存在,则必须创建资源,否则必须更新资源。RFC将这种方法描述为PUT。接下来引用提到的RFC5789标准补丁有信息:

“如果Request-URI没有指向现有资源,服务器可能会创建一个新资源,具体取决于补丁文档类型(是否可以在逻辑上修改空资源)和权限等。”

有更新和创建资源的补丁方法是好主意吗?应该使用哪个标准来同时支持PUT和PATCH方法(可能是OpenApi)?

共有1个答案

赏逸春
2023-03-14

根据《波斯特定律》一个人应该在你所做的事情上保持保守,在你从别人那里接受的事情上保持自由。。

Patch一起使用的两种常见媒体类型是application/json-patch+JSON(又名JSON Patch)和application/json-merge-patch+JSON(又名MergePatch)。

MergePatch定义了一对规则,用于确定是否需要添加、删除或更新某个部件。规范定义了接收到的这种类型的请求需要通过调用接受两个参数(目标资源和接收到的表示)的函数来处理。目标本身可能是一个JSON值,也可能是未定义的。如果该资源尚不存在,则该资源是未定义的,将导致接收到的修补程序文档中的所有值被添加到尚未定义的资源中。这基本上就是您的资源创建。

 类似资料:
  • 本文向大家介绍svn 创建和应用补丁,包括了svn 创建和应用补丁的使用技巧和注意事项,需要的朋友参考一下 示例 补丁程序是一个文件,它显示两个修订版本之间或本地存储库与您的存储库指向的最新修订之间的差异。 要共享或保存您的本地未提交更改的补丁以供同行评审或以后应用,请执行以下操作: 要从两个修订版之间的差异中获取补丁,请执行以下操作: 要应用补丁,请运行: 为了成功应用补丁程序,必须从创建补丁程

  • Git 中的一些命令是以引入的变更即提交这样的概念为中心的,这样一系列的提交,就是一系列的补丁。 这些命令以这样的方式来管理你的分支。 git cherry-pick git cherry-pick 命令用来获得在单个提交中引入的变更,然后尝试将作为一个新的提交引入到你当前分支上。 从一个分支单独一个或者两个提交而不是合并整个分支的所有变更是非常有用的。 在 变基与拣选工作流 一节中描述和演示了

  • 向app store发布新的app版本可能需要一些时间。Tabris.js允许直接向你的用户发布热更新,而无需等待app store更新。 为了符合Apple App Store的规则,修补程序必须“[…] not change the primary purpose of the app by providing features or functionality that are incons

  • 通过检测打补丁要替换文件的版本来实现跳过已安装补丁,在nsis,也就是要用到GetFileVersion这个函数来实现: !include "LogicLib.nsh" ; 安装程序初始定义常量 !define PRODUCT_NAME "office 2003 sp3后续补丁集" !define PRODUCT_VERSION "1.0" !define PRODUCT_PUBLISHER "

  • 当我尝试点击具有方法的请求时,我收到以下错误:PATCH 使用JMeter版本:-apache-JMeter-5.4.1 如果我能得到专家的帮助来解决他们的问题,那将会很有帮助。 谢谢

  • 我使用的是spring 3.2.4,我读到spring MVC 3.2.x明确支持补丁HTTP方法: http://docs.spring.io/spring/docs/3.2.0.rc1/reference/html/new-in-3.2.html 然而,当我在Tomcat(7.0.41)中部署应用程序时,我在使用补丁方法时系统地得到一个501错误。 为什么这行不通?有没有办法让它奏效?我是否应