我正在使用 Symfony 2.3.4 和 FOSRestBundle 0.13.1。我已将路由配置为由 FOSRestBundle 自动生成。在我将 @QueryParam 注释添加到任何方法之前,一切都很好。此注释更改了路由,而不是从 url 中提取变量,它希望将其作为参数传递。
IE
/**
* @return array
* @Rest\View
*/
public function getDetailsAction($user) {
......
}
-bash-4.2$ php app/console router:debug
get_details GET ANY ANY /api/users/details/{user}
但是,一旦我添加了 @QueryParam 注释,我的路线就会更改为:
/**
* @QueryParam(name="user", requirements="\w+", strict=true, nullable=false, description="Name of the user to query details for")
* @return array
* @Rest\View
*/
public function getDetailsAction($user) {
......
}
-bash-4.2$ php app/console router:debug
get_details GET ANY ANY /api/users/details
为什么我的路线会改变?是不是不能在保留原有路由的同时使用@QueryParam注解?