Сочетание слоя просмотра и автоматического создания маршрута

У меня проблемы с включением FOSRestBundle в мой проект Symfony 2.1.

Когда я использую автоматическую генерацию маршрута ( ">документация ) и хотите использовать view layer ( документацию).

Я получаю исключение: Не найден маршрут для "GET /users".

Мой конфиг.yml:

fos_rest:
  routing_loader:
    default_format: json

Мой файл routing.yml:

users:
  type:     rest
  resource: Api\UserBundle\Controller\UsersController

Мой класс UsersController:

namespace Api\UserBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use FOS\RestBundle\Controller\FOSRestController;

class UsersController extends FOSRestController
{ 
  public function getUsersAction() { die('get'); }
  public function postUsersAction() { die('post'); }
}

Когда я удаляю extends FOSRestController, все работает, но я теряю функциональность слоя просмотра. Любой, кто может направить меня в правильном направлении для решения этой проблемы?


person Wesley van Opdorp    schedule 12.09.2012    source источник
comment
сначала попробуйте router:debug в консоли   -  person Denes Papp    schedule 15.11.2013


Ответы (1)


Я не знаю, удалось ли вам решить ее сейчас ... Но у меня была та же самая проблема, и, похоже, она связана с тем, что FOSRestController реализует ClassResourceInterface (FOSRestBundle будет определять ресурс на основе имени контроллера).

Все, что мне нужно было сделать, чтобы заставить его работать, это исключить имя ресурса из методов. https://github.com/FriendsOfSymfony/FOSRestBundle/blob/master/Resources/doc/5-automatic-route-generation_single-restful-controller.md

/ Джонас

person Jonas Eriksson    schedule 19.09.2012