Utilizzo di Symfony2 e FOSRestBundle Sto tentando di implementare metodi API che hanno un certo numero di parametri fissi definiti nel percorso insieme ad alcuni parametri opzionali che possono esistere nella stringa di query.Miscelazione di route e parametri di query utilizzando FOSRestBundle con Symfony
Ad esempio:
http://somesite.com/api/method/a/b
http://somesite.com/api/method/c/d?x=1&y=2
Secondo the documentation for FOSRestBundle, ParamFetcher è il modo corretto per farlo, usando l'annotazione @QueryParam. Tuttavia, ho già un controller definito come:
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use FOS\RestBundle\Controller\Annotations\Get;
use FOS\RestBundle\Controller\Annotations\View;
class MyController extends Controller
{
/**
* @Get("/method/{a}/{b}")
* @View()
*/
public function getMethodAction($a, $b)
{
// do stuff
return array('foo' => 'bar');
}
}
Ora sembra che ho bisogno di essere in grado di ottenere l'accesso a un'istanza di ParamFetcher, ma non so come (e ricerche di Google non hanno aiutato molto) . So dalla documentazione che posso semplicemente cambiare la firma del metodo per incorporare ParamFetcher, tuttavia, quando lo faccio sposta i parametri nella stringa di query, che non posso avere.
C'è un modo per mescolare i due, o dovrei rinunciare a ParamFetcher e andare semplicemente a ispezionare la richiesta direttamente usando l'oggetto Request incorporato di Symfomy?
Grazie per il follow-up, alla fine l'ho capito e ho trascurato di tornare ad esso. – futureal