【发布时间】:2014-01-11 05:05:23
【问题描述】:
我第一次使用 laravel 创建一个 API,以便使用 AJAX 从 angular.js 单页应用程序访问。我不知道如何配置控制器和 URL 以将多个参数传递给任何方法
如下为我的 API 组配置路由
Route::group(array('prefix' => 'api/v1'), function(){
Route::resource('event', 'EventController');
});
EventController 方法都按文档记录工作,但是,我需要发送开始和结束日期作为参数来检索我的事件。
我还将missingMethod($parameters = array()) 放在控制器中,但从来没有运气让它触发
我尝试添加一个额外的参数来显示方法function show($start, $end),但无法弄清楚 AJAX URL 以使其工作。
尝试了多种方法:
/myapp/api/v1/event/param1/param2
/myapp/api/v1/event/param1,param2
/* hoping missingMethod($parameters = array()) might get this one*/
/myapp/api/v1/event/[param1,param2]
在大多数情况下,大多数尝试都会抛出 show 缺少第二个参数的异常。
我最终决定使用常规查询字符串并在我的 index() 函数中测试 Input::get()。
/myapp/api/v1/event?param1=1¶m2=2
我还尝试了几种方法在注册资源之前使用通配符添加Route::get('/event'),但均无济于事。
我想有一种相对简单的方法可以让资源控制器方法有多个参数,如果没有,如何配置 HTTP 请求以便missingMethod 接收数组?
【问题讨论】: