Смешивание параметров маршрута и запроса с помощью 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 встроенный объект запроса?

Ответы на вопрос(2)

Ваш ответ на вопрос