Я использую FOSRestBundle для создания приложения REST, но поскольку функции REST являются лишь частью, я также использую некоторые встроенные инструменты автоматизации Symfony2 для генерации моего кода CRUD. Все работает нормально, но я не могу правильно сопоставить маршрут, и я буду признателен за некоторые идеи и примеры того, как это сделать вручную. Я прочитал определение маршрута вручную в руководстве FOS, в котором говорится об использовании данных аннотаций, но как мне это сделать, поскольку код CRUD, созданный Symfony2, использует другую аннотацию?
Вот пример:
class UserController extends Controller
{
/**
* Lists all User entities.
*
* @Route("/", name="user")
* @Method("GET")
* @Template()
*/
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository('CompanyWebServicesBundle:User')->findAll();
return array(
'entities' => $entities,
);
}
В руководстве FOSRest аннотация для GET представлена как use FOS\RestBundle\Controller\Annotations\Get;
.
/**
* GET Route annotation.
* @Get("/likes/{type}/{typeId}")
*/
Когда я использую маршрут как /index
, это дает мне ошибку, и мое определение маршрута в config.yml:
index:
type: rest
resource: Company\WebservicesBundle\Controller\UserController
Как я могу исправить эту проблему?