Я могу получить параметры GET с аннотацией @QueryParam()
, но похоже, что это работает только для данных строки запроса: /user?id=123
.
Вместо этого я бы предпочел, чтобы это было как /user/123
. Для этого я мог бы использовать аннотацию @Get("/user/{id}")
, но я не вижу дополнительных метаданных, которые есть у @QueryParam()
:
name="id", requirements="\d+", default="1", description="User id"
Если я использую обе аннотации, я получаю сообщение об ошибке:
ParamFetcher parameter conflicts with a path parameter 'id' for route 'getone'
Мой конфликтующий блок документов:
/**
* Finds and displays a Users entity.
*
* @Rest\View
* @Rest\Get("/user/{id}")
* @Rest\QueryParam(name="id", requirements="\d+", default="1", description="User id")
* @ApiDoc(section="Partner Users")
* @param int $id
* @return array
*/
PS Мне нужно иметь идентификатор в пути (/user/123
), а не в запросе, и мне также нужно использовать @QueryParam()
, поскольку он читается NelmioApiDocBundle. Как я могу решить эту проблему?