gpt4 book ai didi

rest - 关于 REST 约定的问题 : retrieving information where lots of params are needed

转载 作者:行者123 更新时间:2023-12-04 19:31:36 24 4
gpt4 key购买 nike

我的服务器/registered_contacts 上有一个路由,它将一长串 ID 作为参数,查找其中哪些 ID 已在数据库中注册,并返回该子集。

这应该是哪个 HTTP 方法?

它目前是一个 GET 请求,因为我认为它正在获取一些东西,但后来我对一长串 ID 也有点不安,它最终向端点发出请求,如:

www.server.com/registered_contacts?ids[2]=bob&ids[54]=jon&ids[23]=jack...etc. etc.

有人可能会争辩说我实际上并没有得到像/registered/contacts/42 这样的远程“东西”,也有人可能会争辩说它是一种我既没有更新、删除也没有创建的资源……所以叶子越来越?

(我也担心 header 变得大于数据包大小,不确定这是否会成为问题)

最佳答案

假设您没有遇到某些确实存在的 GET 命令长度限制,那没问题。

另一种机制是获取您的条件,将其发布到“过滤器”资源,然后从中获取结果 URI,然后使用该 URI 作为 GET 的参数。

Create the filter:
POST /filter

ids[2]=bob......

Result:
HTTP/1.1 301 Moved Permanently
Location: /filter/1234

Use the filter:
GET /registerd_contacts?filter=http://example.com/filter/1234

您的过滤器是一流的资源,您可以根据需要对其进行 CRUD,或者它们可以在一天内“消失”,或者任何您想要的。

关于rest - 关于 REST 约定的问题 : retrieving information where lots of params are needed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4664103/

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