Mezclando parámetros de ruta y consulta usando FOSRestBundle con Symfony
Usando Symfony2 y FOSRestBundle estoy intentando implementar métodos de API que tienen un número determinado de parámetros fijos definidos en la ruta junto con algunos parámetros opcionales que pueden existir en la cadena de consulta.
Por ejemplo:
http://somesite.com/api/method/a/b
http://somesite.com/api/method/c/d?x=1&y=2
De acuerdo aLa documentación para FOSRestBundle, ParamFetcher es la forma correcta de hacer esto, usando la anotación @QueryParam. Sin embargo, ya tengo un controlador definido como:
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');
}
}
Ahora parece que necesito poder acceder a una instancia de ParamFetcher, pero no sé cómo (y las búsquedas de Google no han ayudado mucho). Sé por la documentación que puedo simplemente cambiar la firma del método para incorporar ParamFetcher, sin embargo, cuando lo hago, mueve los parámetros a la cadena de consulta, que no puedo tener.
¿Hay alguna manera de mezclar los dos, o debo renunciar a ParamFetcher e ir solo a inspeccionar la solicitud directamente utilizando el objeto de solicitud incorporado de Symfomy?