我正在使用 FOSRestBundle 创建一个 REST 应用程序,但由于 REST 功能只是其中的一部分,我还使用一些 Symfony2 内置自动化工具来生成我的 CRUD 代码。一切正常,但我无法正确映射路线,我将欣赏一些有关如何手动执行此操作的见解和示例。我已经阅读了 FOS 手册中的手动路由定义,说明要使用给定的注释,但是由于 Symfony2 创建的 CRUD 代码使用不同的注释,我该怎么做?
这是一个例子:
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}")
*/
当我使用路由 as/index
时,它给了我一个错误,我在 config.yml 中的路由定义是:
index:
type: rest
resource: Company\WebservicesBundle\Controller\UserController
我该如何解决这个问题?