如何在REST请求中应用PUT动词?

dan*_*car 1 rest http

我正在研究REST服务器.我有一个订单RESOURCE.

根据我的理解,PUT动词应根据URL创建新订单.我的问题是:如果资源是新的并且您不知道新订单的ID,这怎么可以工作?

我知道关于POST与PUT的辩论,但我引用了PUT的w3规范http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html

"如果Request-URI没有指向已存在的资源,而URI是能够被定义为请求的用户代理一个新的资源,原始服务器可以创建资源与URI"

Jos*_*ger 6

在RESTful API中,PUT通常用于更新资源或创建一个资源(如果它在指定的URL中不存在(即客户端提供id).如果服务器生成id,则RESTful API通常使用a POST来创建新资源.在后一种情况下,通常在重定向中返回或指定生成的id/url.

例: POST /orders/