如何将完整 URL 作为端点添加到 GET 请求

Posted

技术标签:

【中文标题】如何将完整 URL 作为端点添加到 GET 请求【英文标题】:How to add a full URL as an endpoint to a GET request 【发布时间】:2021-06-19 21:38:19 【问题描述】:

我正在尝试发出一个 GET 请求并添加一个完整的 url 和一个像这样的变量

     * @Route("/foobar/url", name="foobar", methods="GET")

当我尝试在邮递员中调用它时

http://foo.bar.local/post/https://www.google.de/

我明白了

   No route found for "GET /foobar/https://www.google.de/"

但是如果我做其他事情,例如

1
www.google.de

我得到了正确的回应

我做错了什么?

【问题讨论】:

【参考方案1】:

您可以在路线注释上添加要求,例如:

/**
 * @Route("/url-test/url", name="url_test", methods="GET", requirements="url"=".+")
 */
public function url_test($url)

    dump($url); // https://www.google.de/


检查我使用的网址:https://127.0.0.1:8000/url-test/https://www.google.de/

文档:https://symfony.com/doc/4.1/routing/slash_in_parameter.html

【讨论】:

嘿,当我添加该要求时,我得到:未找到在此服务器上找不到请求的 URL。 但是,如果我只使用普通的 www。或任何有效的数字。 我刚刚在 Symfony 5 应用程序上对其进行了测试,它对我有用...你能验证你的路由是否与另一个路由冲突吗?如果您使用 Symfony 5.1+ 应用程序,您也可以使用 priority 参数。 您能否发布您的示例,它对我不起作用。 @roibubble 我刚刚用更多信息编辑了我的答案

以上是关于如何将完整 URL 作为端点添加到 GET 请求的主要内容,如果未能解决你的问题,请参考以下文章

Node.js GET/POST请求

Node.js:get/post请求全局对象工具模块

将 GET 请求值添加到 URL 的末尾

get请求如何在url中加入数组参数

在使用get请求时,也可以向请求中传递url参数对吗?

如何删除 asmx 端点?