[英]REST API Design Query 2
应该张贴只有一个资源的操作支持创建在同一时间,也可以在一个单一的POST请求接受创作资源的集合?
根据RFC2616中POST的定义 ,可以推断出仅应创建一个资源(如RFC中所定义)。 首先,本节在整个段落中讨论“ 创建的实体 ”(单数)。 最明显的部分是通过POST创建新资源时的建议响应:
如果在原始服务器上创建了资源,则响应应该为201(创建),并包含描述请求的状态并引用新资源以及一个位置标头(请参见第14.30节)。
据我所知,您只能在location标头中返回一个位置。
前面提到的RFC2616已过时(感谢@Eric Stein)。 POST的更新语义可以在RFC7231中找到 。 再次,建议的响应暗示了语义:
如果已在原始服务器上将一个或多个资源创建为
成功处理POST请求的结果,原始服务器
应该发送包含Location标头的201(已创建)响应
为创建的主要资源提供标识符的字段
( 第7.1.2节 )以及描述状态的表示。
请求,同时引用新资源。
当POST可以创建多个资源时,它应该只创建一个根资源(或者,至少,这是措辞所暗示的)。
总体而言,关于什么是什么以及什么是不允许的,几乎没有硬性限制,因此RFC的措辞(SHOULD,MAY等)。 只要您在相应的RFC中看不到MUST或MUST NOT,就可以随意进行操作,但是可能会违反最佳做法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.