如何知道Symfony2中一条路由的允许方法?

fnev.eu

我目前在侦听器中,我想在响应中返回一些标头。$this->router->match($this->request->getPathInfo());我对此没有任何信息。但是,我已经指定了方法:

api_v2_spokespeople_collection:
  path: /spokespeople
  defaults: { _controller: "APIBundle:v2/Spokesperson:getCollection" }
  methods:  [GET, OPTIONS]

最终有可能无需“手动”解析路由文件吗?

耶塞鲁托

如果您有路线名称:

/** @var string $routeName */
/** @var Symfony\Component\HttpFoundation\Request $request */
$routeName = $request->attributes->get('_route');

并且您拥有该@router服务(似乎此服务已注入您的侦听器):

// from the controller action.
/** @var Symfony\Bundle\FrameworkBundle\Routing\Router $router */
$router = $this->get('router');

//in your sample should be $this->router directly.

那么我们可以通过路由收集来获取路由实例及其信息:

/** @var Symfony\Component\Routing\Route $route */
$route = $router->getRouteCollection()->get($routeName);

最后,您需要调用getMethods()来了解已定义的方法:

/** @var string[] $methods */
$methods = $route->getMethods(); // e.g. array('GET', 'POST')

一行:

$methods = $this->router->getRouteCollection()->get($request->get('_route'))->getMethods();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel 5.2中一条路由中的多个路由参数模式

来自分类Dev

Symfony2 / FosUserBundle-登录前获取上一条路线

来自分类Dev

在React中如何将同一条路由用于多条路由?

来自分类Dev

在angular2中,如何导航到需要ID的另一条路线?

来自分类Dev

如何将变量从app.js导出到Node js中的另一条路由

来自分类Dev

如何在react-router-dom v6中返回上一条路由

来自分类Dev

如何在不同的模块中分离一条路由并在index.js中“要求”?

来自分类Dev

我们如何在 Flask 中使用参数从另一条路由调用一条路由?

来自分类Dev

您如何在铁路由器中转到上一条路线?

来自分类Dev

我如何使用到服务器的另一条路由

来自分类Dev

如何将一条路由的Http字段“ withCredentials”更改为FALSE

来自分类Dev

流星铁路由器。一条路线,多个模板。如何?

来自分类Dev

从RabbitMQ主题交换中的*绑定中排除一条路由

来自分类Dev

无法在react-router-dom中仅渲染一条路由

来自分类Dev

从另一条路线到一条路线的快速调用GET方法

来自分类Dev

Talend ESB:如何从另一条路线呼叫一条路线?

来自分类Dev

如何判断一条路径是否是另一条路径的祖先?

来自分类Dev

如何判断一条路径是否是另一条路径的祖先?

来自分类Dev

Laravel:如果某些路由在`routes.php`文件中的另一条路由之后,则不起作用

来自分类Dev

如何使用ExpressJS将数据从一条路由传递到另一节点

来自分类Dev

处理一条路径中的多个中间节点的最佳方法?

来自分类Dev

Restlet路由-另一条路由超越了该路由

来自分类Dev

如何在Express应用中获取下一条路线的路径

来自分类Dev

如何将图案和渐变混合到一条路径中?

来自分类Dev

如何在一条路线中处理多个响应?

来自分类Dev

如何测试一条路线不起作用?

来自分类Dev

如何更改到下一条路线

来自分类Dev

如何在一条路径上取得结果?

来自分类Dev

如何订阅第一条路线

Related 相关文章

  1. 1

    Laravel 5.2中一条路由中的多个路由参数模式

  2. 2

    Symfony2 / FosUserBundle-登录前获取上一条路线

  3. 3

    在React中如何将同一条路由用于多条路由?

  4. 4

    在angular2中,如何导航到需要ID的另一条路线?

  5. 5

    如何将变量从app.js导出到Node js中的另一条路由

  6. 6

    如何在react-router-dom v6中返回上一条路由

  7. 7

    如何在不同的模块中分离一条路由并在index.js中“要求”?

  8. 8

    我们如何在 Flask 中使用参数从另一条路由调用一条路由?

  9. 9

    您如何在铁路由器中转到上一条路线?

  10. 10

    我如何使用到服务器的另一条路由

  11. 11

    如何将一条路由的Http字段“ withCredentials”更改为FALSE

  12. 12

    流星铁路由器。一条路线,多个模板。如何?

  13. 13

    从RabbitMQ主题交换中的*绑定中排除一条路由

  14. 14

    无法在react-router-dom中仅渲染一条路由

  15. 15

    从另一条路线到一条路线的快速调用GET方法

  16. 16

    Talend ESB:如何从另一条路线呼叫一条路线?

  17. 17

    如何判断一条路径是否是另一条路径的祖先?

  18. 18

    如何判断一条路径是否是另一条路径的祖先?

  19. 19

    Laravel:如果某些路由在`routes.php`文件中的另一条路由之后,则不起作用

  20. 20

    如何使用ExpressJS将数据从一条路由传递到另一节点

  21. 21

    处理一条路径中的多个中间节点的最佳方法?

  22. 22

    Restlet路由-另一条路由超越了该路由

  23. 23

    如何在Express应用中获取下一条路线的路径

  24. 24

    如何将图案和渐变混合到一条路径中?

  25. 25

    如何在一条路线中处理多个响应?

  26. 26

    如何测试一条路线不起作用?

  27. 27

    如何更改到下一条路线

  28. 28

    如何在一条路径上取得结果?

  29. 29

    如何订阅第一条路线

热门标签

归档