我正在使用FOSRestBundle构建我的symfony2 API。
我有像SupportRequestTemplate这样的实体,我希望在API端点看到它,但是当我用
这样的名称创建Actions时getSupportRequestTemplateAction(Request $request, $id) {}
FOSRest将每个驼峰案例单词视为新的资源名称,因此我得到的网址是
/api/supports/{id}/request/template.json
看起来很糟糕。有没有办法让终点看起来像这样。
/api/support-request-templates/{id}.json
或者我只需要把它搞砸,然后再去小写
/api/supportrequesttemplates/{id}.json
答案 0 :(得分:4)
您可以根据需要使用注释来自定义网址。
例如@Get
:
use FOS\RestBundle\Controller\Annotations as Rest;
/**
* @Rest\Get("/api/support-request-templates/{id}.json")
*/
public function getSupportRequestTemplateAction($id, Request $request)
{
...
}
您可以在manual definition of routes中了解有关这些注释的更多信息。