gpt4 book ai didi

swift - 为什么在 URL 中处理 Vapor GET 请求

转载 作者:可可西里 更新时间:2023-11-01 01:16:27 25 4
gpt4 key购买 nike

我正在创建一个 Vapor 服务器,但它正在处理 URL 中的 GET 请求,而没有按下回车键。请参见下面的示例:

假设我有代码get('hello'),每当输入它时,它都会以json 格式返回hello world。

如果我要运行 Vapor 服务器,输入 localhost:8080/hello,然后在我的浏览器中按回车键,它将返回 {"hello":"world"} code>,按预期工作。在控制台上,它将按预期打印 GET/hello。但是,如果我要从 URL 中清除 hello,我将 localhost:8080/ 输出为空,将 GET/ 打印到控制台。如果我随后将 h 附加到此:localhost:8080/h,则 URL 将自动完成为 localhost:8080/hello 因为我之前输入了它,打印 GET/hello 到控制台,然后在 URL 中按下回车键。

每当我在 URL 中键入文本时,它都会向 Vapor 服务器发送请求并处理该请求——即使我没有按回车键发送请求。

为什么要这样做,如何避免?

最佳答案

Safari(可能还有一些其他浏览器)使用预取功能。请参阅 Safari 首选项的“搜索”部分中的“在后台预加载热门搜索”。如果启用,您的浏览器将在不同时间发送 GET 请求,而您甚至都没有意识到。

您无法在广阔的世界中阻止这种行为,因此您需要为此做好计划。 GET 端点不应该做任何重要的工作,或者改变任何模型状态。将这些类型的端点放在 POST 等动词后面。

关于swift - 为什么在 URL 中处理 Vapor GET 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46186649/

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