我正在尝试测试Laravel API终端并希望在代码中调用它。使用Laravel请求对象设置发布数据
$request = Request::create($path, $method);
$response = Route::dispatch($request);
这段代码适用于GET,但我需要也可以设置POST调用。将$方法设置为POST也适用,但我找不到详细说明如何附加发布数据的文档。
有什么建议吗?
我正在尝试测试Laravel API终端并希望在代码中调用它。使用Laravel请求对象设置发布数据
$request = Request::create($path, $method);
$response = Route::dispatch($request);
这段代码适用于GET,但我需要也可以设置POST调用。将$方法设置为POST也适用,但我找不到详细说明如何附加发布数据的文档。
有什么建议吗?
正如您在评论中提到的那样,您可以使用$this->call()
,但实际上您也可以使用当前的代码执行此操作。如果您在Request::create()
功能的签名看看你可以看到,它需要$parameters
作为第三个参数:
public static function create($uri, $method = 'GET', $parameters = array(), $cookies = array(), $files = array(), $server = array(), $content = null)
而且文档块说:The query (GET) or request (POST) parameters
因此可以简单地将数据添加到Request::create()
$data = array('foo' => 'bar');
$request = Request::create($path, $method, $data);
$response = Route::dispatch($request);
非常方便的手工修补程序:'$ request = Request :: create($ path,$ method,$ data);' – 2016-11-02 13:26:00
这是Laravel 5吗? – Richie 2014-12-04 12:04:47
这是Laravel v4 – Andy 2014-12-04 12:16:34
那么你得到了什么错误信息?你说它设置为POST作品 – Richie 2014-12-04 12:19:59