使用laravel上的路由发送json消息


Send json message using routes on laravel

目前我正在尝试在我的控制器上测试一个,它需要一个json文件作为输入。控制器正在使用等待json消息

$input = Input::all();

我的目标是编写一个单元测试,通过路由将json文件发送到控制器,例如使用laravel的$this->call($method, $uri, $parameters, $files, $server, $content)方法。

我假设我必须将json消息作为一个普通字符串输入一个名为$content的值中,比如:

 $this->content('Json Message String');

作为$method,我使用"Post",而$uri是通往我的ImporterController的路线。

问题是,控制器端的数组$input总是空的,那么是否需要将消息声明为Json?

谢谢你的帮助!

好吧,我自己想好了。不知道是否有人对此感兴趣,但为了发送json消息,我唯一要做的就是:

    $json = 'json message';
    $this->params = json_decode($json,true);
    $this->call($this->method, $this->uri,$this->params);

因此,必须使用json_decode将消息声明为json,并将其存储为参数,而不是内容。