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

Posted

技术标签:

【中文标题】使用 laravel 上的路由发送 json 消息【英文标题】:Send json message using routes on laravel 【发布时间】:2014-10-19 11:51:43 【问题描述】:

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

的 json 消息
$input = Input::all();

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

我假设我必须在名为$content 的值中以纯字符串形式输入 json 消息,例如:

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

作为$method,我使用的是“发布”,$uri 是通往我的ImporterController 的路径。

问题是controller端的数组$input一直是空的,所以需要声明消息为Json吗?

感谢您的帮助!

【问题讨论】:

【参考方案1】:

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

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

    $this->call($this->method, $this->uri,$this->params);

所以消息必须用json_decode 声明为json,并存储为参数,而不是内容。

【讨论】:

Okey 对你有好处。以及任何其他有问题的人。你应该接受你的回答。

以上是关于使用 laravel 上的路由发送 json 消息的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 当 API 路由错误或找不到时如何显示 JSON?

在 Laravel 8 中使用 API 路由时返回错误

Laravel使用数据库队列给用户发送通知

Laravel使用数据库队列给用户发送通知

如何在 Laravel 中从 json 索引计数

Post 方法上的 MethodNotAllowedHttpException