可以Location头被用于在201创建的响应多个资源位置?(Can the Location he

2019-06-25 23:55发布

什么是正确的动词和应对接受批量PUT创建并返回多个位置? Location头似乎只支持一个单一的URI。

我认为本来我可以使用PUT了一批创建和使用URI列表返回一个字符串数组,但在看规范 ,不会出现被支持,但它并不完全清楚无论是。

在多个位置允许头作为替代?

有什么建议?

Answer 1:

不,你只能有一个Location头字段(是的,这很明显,从规范)。

话虽这么说,PUT是创建/更新一个单一的资源。 看来,你使用它的东西,它不是专为...



Answer 2:

PUT只能创建一个资源,因为根据规格:

PUT方法要求该目标资源的状态来创建或与由封闭在所述请求消息的有效载荷表示所定义的状态替换。

( http://tools.ietf.org/html/rfc7231#section-4.3.4 )

然而,可能的是用不同的动词(如POST)的请求,以创建多个资源,并返回201个Created状态。 根据该规范:

由请求创建的主资源被在响应或任一位置报头字段,如果没有接收到位置字段中,由有效请求URI来标识。 所述201响应有效载荷通常描述和链接到创建的资源(多个)。

( http://tools.ietf.org/html/rfc7231#section-6.3.2 )

因此,它是确定返回多个创建资源的URI在201响应,例如,一个POST请求,但是Location头可能只包含一个URI。



Answer 3:

RFC 5988引入链接HTTP头。 它可以被用于此目的。



文章来源: Can the Location header be used for multiple resource locations in a 201 Created response?
标签: http rest