使用Laravel请求对象设置发布数据

And*_*ndy 4 php laravel

我正在尝试测试Laravel API端点,并希望在代码中调用它.

    $request = Request::create( $path, $method );
    $response = Route::dispatch( $request );
Run Code Online (Sandbox Code Playgroud)

这段代码适用于GET,但我也需要能够设置POST调用.将$方法设置为POST也可以,但我找不到详细说明如何附加发布数据的文档.

有什么建议?

luk*_*ter 7

正如您在评论中提到的那样,您可以使用,$this->call()但实际上您也可以使用当前代码.如果你看看Request::create()函数的签名,你可以看到它$parameters作为第三个参数:

public static function create($uri, $method = 'GET', $parameters = array(), $cookies = array(), $files = array(), $server = array(), $content = null)
Run Code Online (Sandbox Code Playgroud)

docblock说: The query (GET) or request (POST) parameters

所以你可以简单地添加数据 Request::create()

$data = array('foo' => 'bar');
$request = Request::create( $path, $method, $data );
$response = Route::dispatch( $request );
Run Code Online (Sandbox Code Playgroud)