Смешивание параметров маршрута и запроса с помощью FOSRestBundle с Symfony
Используя Symfony2 и FOSRestBundle, я пытаюсь реализовать методы API, которые имеют некоторое количество фиксированных параметров, определенных в маршруте, а также некоторые необязательные параметры, которые могут существовать в строке запроса.
Например:
http://somesite.com/api/method/a/b
http://somesite.com/api/method/c/d?x=1&y=2
В соответствии сдокументация для FOSRestBundleParamFetcher - правильный способ сделать это, используя аннотацию @QueryParam. Тем не менее, у меня уже есть контроллер, определенный как:
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');
}
}
Теперь мне кажется, что мне нужно получить доступ к экземпляру ParamFetcher, но я нене знаю как (и поиски Google не сильно помогли). Из документации я знаю, что я могу просто изменить сигнатуру метода, чтобы включить ParamFetcher, однако, когда я это делаю, он перемещает параметры в строку запроса, что я могу 'есть
Есть ли способ смешать два, или я должен отказаться от ParamFetcher и перейти к проверке запроса непосредственно с помощью Symfomy 's встроенный объект запроса?