我正在为我的Web应用程序使用Symfony框架(3.3)和捆绑软件FOSRestBundle .
我有一个名为 FooBarsController
的控制器,我想使用“Automatic route generation: single RESTful controller” .
问题是,正如您所看到的,控制器是多字复合的 .
我是否必须注释我的控制器类和方法以映射URL,如“/ foo-bars”:
use FOS\RestBundle\Controller\Annotations\Delete;
use FOS\RestBundle\Controller\Annotations\Get;
use FOS\RestBundle\Controller\Annotations\Post;
use FOS\RestBundle\Controller\Annotations\Put;
use FOS\RestBundle\Controller\Annotations\Route;
use FOS\RestBundle\Controller\FOSRestController;
/**
* @Route("/foo-bars", defaults={"_format": "json"})
*/
class FooBarsController extends FOSRestController
{
/**
* @Get()
* @View(templateVar="fooBars")
*/
protected $getFooBarsAction();
/**
* @Get("/{id}", requirements={"id": "\d+"})
* @View(templateVar="fooBar")
*/
protected $getFooBarAction($id);
/**
* @Post()
* @View(templateVar="fooBar")
*/
protected $postFooBarsAction();
/**
* @Put("/{id}", requirements={"id": "\d+"})
* @View(templateVar="fooBar")
*/
protected $putFooBarAction($id);
/**
* @Delete("/{id}", requirements={"id": "\d+"})
* @View(templateVar="fooBar")
*/
protected $deleteFooBarAction($id);
}
它工作正常,但我认为我正在失去自动路由的力量 .
编辑
这是我的路由配置文件的一部分:
foo-bars:
type: rest
resource: FooBundle\Controller\FooBarsController