我是 laravel 的新手,我正在尝试实现一个简单的 rest api。
我已经实现了控制器,并通过单元测试进行了测试。
我的问题是 POST 请求。
通过测试 Input:json 有数据,通过外部休息客户端它返回 null。
这是单元测试的代码
$newMenu = array(
'name'=>'Christmas Menu',
'description'=>'Christmas Menu',
'img_url'=>'http://www.example.com',
'type_id'=>1,
);
Request::setMethod('POST');
Input::$json = $newMenu;
$response = Controller::call('menu@index');
我究竟做错了什么?
更新:
这真的让我发疯
我已经实例化了一个新的 laravel 项目,并且只有以下代码:
路线
Route::get('test', 'home@index');
Route::post('test', 'home@index');
控制器:
class Home_Controller extends Base_Controller {
public $restful = true;
public function get_index()
{
return Response::json(['test'=>'hello world']);
}
public function post_index()
{
return Response::json(['test'=>Input::all()]);
}
}
卷曲调用:
curl -H "Accept:application/json" -H"Content-type: application/json" -X POST -d '{"title":"world"}' http://localhost/laravel-post/public/test
回复:
{"test":[]}
谁能指出我出了什么问题。
这真的阻止了我使用 laravel,我真的很喜欢这个概念。