【问题标题】:How to add a full URL as an endpoint to a GET request如何将完整 URL 作为端点添加到 GET 请求
【发布时间】: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

我得到了正确的回应

我做错了什么?

【问题讨论】:

    标签: php symfony routes get


    【解决方案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 我刚刚用更多信息编辑了我的答案
    猜你喜欢
    • 2021-11-17
    • 1970-01-01
    • 2014-11-01
    • 2022-01-05
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多