Reputation: 185
So, I'm trying to create a simple REST api with Symfony2 and the FOSRestBundle.
It's going really well, however I've hit a wall that Google apparantly hasnt been able to answer :)
I understand that this:
public function getUsersAction(){
return 'A list of all the users';
}
Will create a route as such:
api_get_users GET ANY ANY /api/users.{_format}
And I know that add a function parameter:
public function getUsersAction($id){
return 'A specific users (with $id) details';
}
Will create a route as such:
api_get_users GET ANY ANY /api/users/{userid}.{_format}
However what if I want to make it, so both routes are available (like a proper REST api design)?
I tried doing something like
public function getUsersAction($userid = NULL){
But it didnt work (not a huge surprise)..
I'm pretty sure that I'm missing a simple piece of the puzzle, but I have no idea what.
Upvotes: 1
Views: 121
Reputation: 41934
Creating a getUserAction($id)
and a getUsersAction()
(not plural) should work, according to the documentation:
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} // ... }
Upvotes: 2