FOSRestBundle: Routen und Anmerkungen für Parameter
Ich bin in der Lage get die GET-Parameter mit @QueryParam()
Anmerkung, aber es sieht aus wie es funktioniert, für die Query-String-Daten nur: /user?id=123
.
Ich würde es vorziehen, es zu haben, wie /user/123
statt. Für diese, vielleicht verwende ich @Get("/user/{id}")
Anmerkungen, aber ich nicht sehen, hat es zusätzliche Metadaten, die @QueryParam()
hat:
name="id", requirements="\d+", default="1", description="User id"
Wenn ich die beiden Anmerkungen, bekomme ich eine Fehlermeldung:
ParamFetcher parameter conflicts with a path parameter 'id' for route 'getone'
Meine widersprüchlichen 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 zu haben brauche ich eine id in den Pfad (/user/123
), nicht in der Abfrage, und ich brauche auch verwenden @QueryParam()
wie es gelesen NelmioApiDocBundle. Wie kann ich dieses Problem beheben?
Du musst angemeldet sein, um einen Kommentar abzugeben.
FOSRestBundle ist
@Get
annotation erstreckt FOSRestBundle ist@Route
was wiederum erstreckt sich SensioFrameworkExtraBundle ist@Route
.Haben Sie einen Blick auf die code und finden Sie in der Dokumentation Kapitel @Route " und " @ - Methode.
Den
requirements
unddefaults
Attribute erwartet ein array.@Get
und@ApiDoc
.parameters
Abschnitt aus der@ApiDoc
Abschnitt, und fügen Sie@param integer $id Description of id here
unten, es, dass scheint, den trick zu tunWenn Sie möchten, eine Beschreibung der Anforderungen nur in der annotation