【发布时间】:2013-01-15 05:07:04
【问题描述】:
我正在尝试使用 Laravel 创建一个 RESTful API。
在我的routes.php:
Route::get('/accounts/(:any?)', array('as'=>'account_index', 'uses'=>'accounts@index'));
我的控制器:
class Accounts_Controller extends Base_Controller {
public $restful = true;
public function get_index($id = null) {
if(!$id)
return Response::json(Account::all());
return Response::json(Account::find($id));
}
当我尝试任何请求 accounts/## 时,我得到 404 响应,但 accounts 工作正常。当我将路线更改为不是accounts 时,例如:
Route::get('/accts/(:any?)'
我的路由按预期工作,除此之外,发送到accounts 的请求仍然可以正常工作。是不是因为我使用get_index 作为我的函数名称,所以它恢复为使用标准的http://localhost/controller/method/arguments?
编辑我有控制器被自动检测:
Route::controller(Controller::detect());
【问题讨论】:
-
你的其他路线是什么?你在使用 Route::controller 吗?如果是这样,则需要在您的其他路线之后定义。
-
我定义的唯一其他路由是Laravel自带的默认主页,并且Controllers正在注册
Route::controller(Controller::detect());