我在routing.yml文件中定义了路由
一条路线是:
Profile_user_profile:
path: /profile/{id}
defaults: { _controller: ProfileBundle:Users:profile }
methods: [get]
,第二是:
Profile_accept_connection_proposal:
path: /profile/acceptProposal
defaults: { _controller:ProfileBundle:Users:acceptConnectionProposal }
methods: [put]
没有方法的第一条路线:[get]听取并[put]请求并在到达路由定义之前捕获第二个url。如果url是数字,是否有定义检查参数的方法。
答案 0 :(得分:5)
只需添加requirements
参数即可接受确定路线的数字,如下所示:
Profile_user_profile:
path: /profile/{id}
defaults: { _controller: ProfileBundle:Users:profile }
methods: [get]
requirements: <--- ADDED PARAMETER
id: \d+
如需更多信息,请阅读Symfony book about Routing。在那里,您可以找到有关如何使用路线参数的更高级示例。
答案 1 :(得分:2)
您现在可以在控制器中使用注解来做到这一点,
class UserController extends AbstractController
{
/**
* @Route("/profile/{id}", name="user_profile", requirements={"id"="\d+"})
*/
public function profile($id)
{
// ...
}
}
有关Symfony's docs的更多信息 具体是defining routing requirements