Symfony2:FOSRest:允许路由“/api/items”和"api/items/{id}"

Symfony2: FOSRest: Allow route for both "/api/items" and "api/items/{id}"

所以,我正在尝试使用 Symfony2 和 FOSRestBundle 创建一个简单的 REST api。

进行得非常顺利,但是我遇到了障碍,Google 显然无法回答 :)

我的理解是:

public function getUsersAction(){
  return 'A list of all the users';
}

将创建这样的路线:

  api_get_users              GET      ANY      ANY    /api/users.{_format}                       

我知道添加一个函数参数:

public function getUsersAction($id){
  return 'A specific users (with $id) details';
}

将创建这样的路线:

  api_get_users              GET      ANY      ANY    /api/users/{userid}.{_format}              

但是,如果我想实现它怎么办,以便两条路线都可用(就像适当的 REST api 设计)?

我试过做类似

的事情
public function getUsersAction($userid = NULL){

但它没有用(不足为奇)..

我很确定我漏掉了一块简单的拼图,但我不知道是什么。

根据 the documentation:

创建 getUserAction($id)getUsersAction()(不是复数)应该可行
class UserController implements ClassResourceInterface
{
    // ...

    public function getUsersAction()
    {} // "get_users"     [GET] /users

    public function getUserAction($slug)
    {} // "get_user"      [GET] /users/{slug}

    // or when omittig "User":

    public function cgetAction()
    {} // "get_users"     [GET] /users

    public function getAction($slug)
    {} // "get_user"      [GET] /users/{slug}

    // ...
}