Unter Verwendung von Symfony2 und FOSRestBundle versuche ich, API-Methoden zu implementieren, die einige feste Parameter in der Route zusammen mit einigen optionalen Parametern enthalten, die in der Abfrage-Zeichenfolge vorhanden sein können.
Zum Beispiel:
%Vor%Laut der Dokumentation für FOSRestBundle ist ParamFetcher Die richtige Methode hierfür ist die Verwendung der Annotation @QueryParam. Ich habe jedoch bereits einen Controller definiert wie:
%Vor%Nun scheint es, dass ich Zugang zu einer Instanz von ParamFetcher haben muss, aber ich weiß nicht wie (und Google-Suchen haben nicht viel geholfen). Ich weiß aus der Dokumentation, dass ich einfach die Methodensignatur ändern kann, um ParamFetcher einzubinden, aber wenn ich das tue, verschiebt es die Parameter in die Abfragezeichenfolge, die ich nicht haben kann.
Gibt es eine Möglichkeit, die beiden zu mischen, oder sollte ich ParamFetcher aufgeben und nur die Anfrage direkt mit dem Symfomy-Request-Objekt untersuchen?
Diese Frage ist ziemlich alt und Sie haben wahrscheinlich schon eine Lösung gefunden, aber seit ich durch die Google-Suche hier bin und eine Antwort kenne, werde ich beitragen.
%Vor%wollte nur eine Antwort posten, weil die ursprüngliche Antwort nur QueryParams verwendet und die Frage QueryParams zusammen mit RouteParams verwendet hat.
Wenn Sie route-Parameter und query-Parameter verwenden möchten, können Sie den ParamFetcher als erstes Argument für die Aktion verwenden und die Routenargumente später hinzufügen.
Ich habe noch keine Möglichkeit gefunden, die Route Params zum paramFetcher hinzuzufügen.
%Vor%Tags und Links symfony symfony-2.1 fosrestbundle