所以,我正在尝试用Symfony2和FOSRestBundle创建一个简单的REST api。
这真的很顺利,但是我已经碰到了谷歌显然无法回答的问题:)
我理解这一点:
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){
但它没有用(不是一个巨大的惊喜)..
我很确定我错过了一个简单的拼图,但我不知道是什么。
答案 0 :(得分:2)
根据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} // ... }