在Symfony2中,使用多字词名称并获得良好的RESTful网址的最佳方式是什么

时间:2016-03-30 17:03:16

标签: rest symfony

我正在使用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

1 个答案:

答案 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中了解有关这些注释的更多信息。