gpt4 book ai didi

rest - 您如何处理 RESTful 上下文中的动态资源?

转载 作者:行者123 更新时间:2023-12-04 22:38:36 25 4
gpt4 key购买 nike

根据我对 REST 原则的理解,URL 应该代表单个资源,例如用户或产品。您如何处理随机或动态生成的资源?

假设我创建了一个名为 api.example.com/integer 的资源,它返回一个随机整数。我还会使用 GET 来检索整数吗?在这种情况下,POST、PUT 和 DELETE 是什么意思?

代表行为的 URL 呢?假设我创建了一个名为 api.example.com/add 的资源,它返回两个数字的总和。如果我想使用这个资源,我是使用 GET 还是 POST 来提交要添加的数字?

最佳答案

不需要所有资源都支持所有动词。这就是 OPTIONS 动词用于找出支持哪些动词的用途。

我会说以下任何一项都是不言自明的

GET http://api.example.org/RandomInteger

POST http://api.example.org/RandomNumberMachine

两者都可以是有效的。请注意 GET 请求可能会被缓存。如果是这样,那么您将不会得到随机结果。

REST 背后的主要原则之一是,您将 url 建模为代表名词,而不是动词。所以 http://api.example.com/add 不是一个理想的网址。

你可以做
GET http://api.example.org/Summation?Values=2,4

或者
POST http://api.example.org/AddingMachine

带有一些标准格式的实体主体,其中包含要添加的数字。

从表面上看,区分以“Add”结尾的 url 和以“summation”结尾的 url 似乎很迂腐。然而,这是一个非常简单的示例,REST 约束可指导您进行设计,该设计具有分布式系统的某些理想特性。

许多年前人们会争论两者之间的区别
apple.bite()


bite(apple)

意义不大。我认为现在没有太多人会忽视这种区别。

关于rest - 您如何处理 RESTful 上下文中的动态资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/832213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com