如何将完整 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 请求的主要内容,如果未能解决你的问题,请参考以下文章