gpt4 book ai didi

json - Scala/Play 中的类似 REST 的 API 是否可以仅使用 POST 方法和 JSON 格式

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

我们决定对所有内部 API 使用 POST 方法和 JSON 格式,这使一切变得更简单。但后来我们意识到这并不是真正的 RESTful。而且,在高负载下,GET 请求似乎比 POST 更轻量。

我们在 GET 方法方面遇到问题。我们必须将条件对象绑定(bind)到 HTTP 请求(查询字符串),这迫使我们构建 Form每个标准模型的对象。如您所知,构建 Form 对象将手动完成,并且没有像 JSON 格式化程序那样可用的自动化功能 ( Macro Inception )。

另一个问题是我们必须决定是使用路由参数还是查询字符串。

我认为使用单个 HTTP 方法并使所有 API 调用统一更简单。有道理吗?

最佳答案

POST 方法用于任何未由 HTTP 协议(protocol)标准化的操作,简单检索在 GET 方法中标准化。因此,使用 POST 进行简单检索并不是 RESTful。不仅如此,您似乎想要使用 POST,以便可以像处理 POST 有效负载一样处理查询字符串参数,但 REST URI 是原子标识符,包括查询字符串。您的应用程序不应依赖于 URI 语义,并且提取用于识别以外的任何目的的信息位在 REST 中也没有多大意义。

坦率地说,根据您的描述,您的 API 远未被视为真正的 RESTful,因此根本不应该担心。做任何与您的工具更一致并且更适合您的应用程序的事情。 REST 并不适合所有人,当您的应用程序并不需要时,担心设计真正 RESTful 的 API 更有可能导致错误的设计选择。

关于json - Scala/Play 中的类似 REST 的 API 是否可以仅使用 POST 方法和 JSON 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32572284/

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