2017-02-24 80 views
1

我正在使用Symfony3的FOSRestBundle(2.0)创建一个RESTFul应用程序。我有一个控制器,像这样:FOSRestBundle-创建奇异路线

class GroupsController extends FOSRestController 
{ 
    public function getGroupAction($id) { … } 
    public function getGroupAddAction() { … } 
} 
运行 bin/console debug:router

… 
get_group   GET  ANY  ajax.localhost.dev /groups/{id} 
get_group_add  GET  ANY  ajax.localhost.dev /group/add 
… 

但是,让一个组是针对单个项目的要求,所以路径应该是:[GET] /group/{id},在我看来。

我错了吗?正确的路线,以获得一个单一的组是复数?

因此,如果我的意见是正确的,我该如何手动更改这一条路线?我曾尝试:

/** 
    * @NamePrefix("group") 
    */ 
    public function getGroupAction() { … } 

但是,这会导致一个错误,告诉我,我可以使用注释只为类,而不是方法。

回答

0

是的,它应该是复数。

如果你想拥有奇异路线,你可以在你的控制器中使用它。 你可以在Symfony documentation找到它。

/** 
* @RouteResource("User", pluralize=false) 
*/ 
+0

你能告诉我为什么它应该是复数?这不是一个单一的项目请求? – philipp

+0

其命名约定。该网址说:“从存储库'Groups'中给我ID'XX'” - 不是“给我'组X” – Roman