gpt4 book ai didi

在查询字符串或请求正文中包含数据的 Restful URL?

转载 作者:行者123 更新时间:2023-12-03 08:30:07 25 4
gpt4 key购买 nike

在查询字符串与请求正文中的 REST URL 中传递数据的经验法则是什么?

即:您正在创建一项服务来添加曲棍球运动员。你可以去:

PUT /players 
{ "name": Gretzky }

或者
PUT /players?name=Gretzky

如果您要传递大量数据,则需要使用选项 #1,因为 URL 长度有限制。但除此之外,为什么不直接使用查询字符串来传递数据呢?

更新 :删除了您可以在浏览器中测试选项 #2 的注释。意识到(duh)您只能在浏览器中执行 GET-s。

最佳答案

根据 HTTP 对 PUT 的定义,您的第一个请求是用仅包含一个玩家名称的新列表覆盖玩家列表。它没有添加到玩家列表中。

第二个选项对我来说没有多大意义。没有body 做PUT 与PUT 的含义并不完全一致。

考虑到 POST 的标准定义之一是附加到现有资源,我不确定你为什么不这样做

POST /players 
{ "name": Gretzky }

如果您确定所有玩家名称都是唯一的,那么您可以像这样使用 PUT:
PUT /player/Gretzky
{ "name": Gretzky }

当您决定在 HTTP 上执行 REST 时,您同意以 RFC2616 中定义的方式使用 HTTP。这就是统一接口(interface)约束的含义。
只是为了迂腐,没有 REST URL 这样的东西,你不能在浏览器中测试任何一个选项,因为没有 javascript,你不能在浏览器中执行 PUT。

关于在查询字符串或请求正文中包含数据的 Restful URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1619302/

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