Jestem w stanie uzyskać parametry GET z adnotacją @QueryParam()
, ale wygląda na to, że działa tylko w przypadku danych String zapytania: /user?id=123
.FOSRestBundle: trasy i adnotacje dla parametrów
Zamiast tego wolałbym mieć to jako /user/123
. W tym celu można użyć @Get("/user/{id}")
adnotacji, ale nie widzę, że ma dodatkowe metadane, które @QueryParam()
ma:
name="id", requirements="\d+", default="1", description="User id"
Jeśli używam obu adnotacji, otrzymuję błąd:
ParamFetcher parameter conflicts with a path parameter 'id' for route 'getone'
My sprzeczne bloku dokumentacyjnym:
/**
* 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 muszę mieć identyfikator w ścieżce (/user/123
), a nie w zapytaniu, a ja też trzeba używać @QueryParam()
czytany przez NelmioApiDocBundle. Jak mogę rozwiązać ten problem?
nifr, dzięki za pomoc! Jedyną rzeczą, która nie wygląda ładnie, jest to, że pojedynczy parametr jest opisywany dwa razy, w '@ Get' i' @ ApiDoc'. –
Jeśli upuścisz sekcję 'parameters' z sekcji' @ ApiDoc' i dodasz '@param integer $ id Opis id tutaj 'poniżej, który wydaje się być skuteczny – lopsided