Ich bin in der Lage, GET-Parameter mit @QueryParam()
Annotation abrufen, aber es sieht aus wie es nur für Query String Daten funktioniert: /user?id=123
.FOSRestBundle: Routen und Anmerkungen für Parameter
Ich würde es lieber wie /user/123
stattdessen haben. Dazu könnte ich @Get("/user/{id}")
Anmerkung verwenden, aber ich sehe nicht, hat es zusätzliche Metadaten, die @QueryParam()
hat:
name="id", requirements="\d+", default="1", description="User id"
Wenn ich beide der Annotationen verwenden, erhalte ich eine Fehlermeldung:
ParamFetcher parameter conflicts with a path parameter 'id' for route 'getone'
Meine widersprüchliche Docblock:
/**
* 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 ich brauche eine ID auf dem Weg zu haben (/user/123
), nicht in Abfrage, und ich brauche auchzu verwenden, wie es von NelmioApiDocBundle gelesen wird. Wie kann ich dieses Problem beheben?
nifr, vielen Dank für Ihre Hilfe! Das einzige, was nicht gut aussieht, ist, dass der einzelne Parameter zweimal beschrieben wird, in '@ Get' und' @ ApiDoc'. –
Wenn Sie den 'Parameter'-Bereich aus dem '@ ApiDoc'-Bereich entfernen und' @param integer $ id Beschreibung von id hier 'darunter einfügen, scheint das den Trick zu machen – lopsided