Web services 在Rest中,什么是;将地址成员视为其自身的集合,并创建其新下属。”;什么意思?

Web services 在Rest中,什么是;将地址成员视为其自身的集合,并创建其新下属。”;什么意思?,web-services,rest,Web Services,Rest,我是,上面说: 处理成员URI时,如: http://example.com/resources/7HOU57Y POST:将地址成员视为其自身的集合,并创建其新下属 我在谷歌上搜索过这句话,发现很多结果都是这么说的,但没有一个能解释这句话的意思。有人能详细说明并举例说明吗?。因此,您将其发布到充当此类资源构建器的资源,服务器分配一个ID 发布到http://example.com/resources创建一个新资源,服务器给它ID7HOU57Y。您将获得http://example.co

我是,上面说:

处理成员URI时,如:
http://example.com/resources/7HOU57Y

  • POST:将地址成员视为其自身的集合,并创建其新下属

我在谷歌上搜索过这句话,发现很多结果都是这么说的,但没有一个能解释这句话的意思。有人能详细说明并举例说明吗?

。因此,您将其发布到充当此类资源构建器的资源,服务器分配一个ID

发布到
http://example.com/resources
创建一个新资源,服务器给它ID
7HOU57Y
。您将获得
http://example.com/resources/7HOU57Y

例如,新资源是集合的从属资源,就像文件是目录

但是如果POST是这样工作的,那么就发布到
http://example.com/resources/7HOU57Y
应该给我从属于此资源的新资源,如
http://example.com/resources/7HOU57Y/XYZ


这是我从中学到的。当然,这在很大程度上取决于您的服务的工作方式(例如,我可以将POST指定为不支持
http://example.com/resources/7HOU57Y
)。

Bogdan的答案在您所指的答案的含义上是正确的,但这个答案有点误导,因为REST不是HTTP的CRUD。POST不是Create的同义词

POST方法的语义是执行HTTP协议尚未标准化的任何操作。POST是唯一一种提交有效负载以供目标资源本身而不是服务器处理的方法。在某种程度上,您可以说,使用GET、PUT、PATCH和DELETE方法,资源不知道自己发生了什么,服务器完成了整个工作,但是使用POST,服务器必须要求资源做一些事情

这意味着任何使用POST方法的操作都必须以某种方式记录下来。客户端可以假设一个GET、PUT、PATCH和DELETE请求将遵循RFC 7231,但是POST的最终结果将取决于目标媒体类型


因此,如果在
http://example.com/resources/7HOU57Y
说一篇文章将创建一个从属资源并返回URI,好吧,这就是它应该做的。如果文件上说POST将对俄罗斯境内的目标发射核导弹,那么这就是它应该做的。如果没有文档,说明有人犯了错误。

很有趣。这看起来非常奇怪,因为我认为这会将你限制在每个资源只有一种下属。@DanielKaplan:不一定。正如我在回答的最后一段中所说的,这取决于您如何构建服务:您可以根据请求中的内容(正文、内容类型、标题等)来决定要创建哪种下属。