通过HTTP PATCH请求包含数据的正确方法

Ale*_*zzi 6 parameters http http-patch

当我将HTTP PATCH请求放在一起时,在URL参数之外包括数据的选项是什么?

以下任何一项都可以工作,最常见的选择是什么?

  • 多部分/表单数据
  • 应用程序/ x-www-form-urlencoded
  • 原始JSON
  • ...还有其他人吗?

rdl*_*rey 5

对RFC 5789中PATCH定义的HTTP 请求的实体没有任何限制。因此,从理论上讲,您在这方面的选择是无限的。

在我看来,唯一明智的选择是使用Content-Type最初用于创建资源的方法。最常见的选择application/json仅仅是因为大多数现代API使用JSON作为其首选的数据传输格式。

RFC 5789唯一关于PATCH实体实体中应该和不应该包含的内容的相关声明对以下问题保持沉默Content-Type:

封闭的实体包含一组指令,这些指令描述了如何修改当前驻留在源服务器上的资源以产生新版本。

总而言之,如何选择修改应用程序中的资源完全取决于您。

  • 不。媒体类型应该描述补丁格式。如果您起诉缺少在PATCH中使用的定义的媒体类型,则说明您不是按照应该使用的方式使用PATCH。 (2认同)
  • @JulianReschke 请随意做一些富有成效的事情,并为您的声明发布 RFC 参考,以便人们受益。否则你就帮不了任何人。特别是,如果这个答案是错误的,您应该发布正确的答案。 (2认同)