首页 > 解决方案 > 如何将完整 URL 作为端点添加到 GET 请求

问题描述

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

     * @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

我得到正确的回应

我究竟做错了什么 ?

标签: phpsymfonyroutesget

解决方案


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

/**
 * @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


推荐阅读