Я использую Symfony 2.3.4 и FOSRestBundle 0.13.1. Я настроил маршруты для автоматической генерации FOSRestBundle. Все работает отлично, пока я не добавлю аннотацию @QueryParam к любому методу. Эта аннотация изменяет маршрут и вместо извлечения переменной из URL-адреса ожидает, что она будет передана в качестве параметра.
i.e
/**
* @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?