测试时内部请求不发送参数
Internal request does not send parameter when testing
我正在使用 Dingo 来管理我的应用程序 API。它具有分派内部请求 (https://github.com/dingo/api/wiki/Internal-Requests) 的功能,最后它调用 Laravel 内部请求分派器。
我面临以下问题:我向路由发出内部请求,它是一个带参数的 POST。此内部请求在队列作业中调用。如果这个内部请求在队列作业中执行,它会完美地工作,但是如果在我的 PHPUnit 测试中请求被调度但参数没有发送。
我正在调试并在控制器中 $request->input()
return 是一个空数组,但是 $request->request->all()
return 是参数。
在所有情况下我都需要 $request->input()
到 return 参数。
我正在使用 Laravel 5.4 和 Dingo v1.0.0-beta8。
有人吗?
我不明白为什么,但如果我通过 Postman 发出请求,内部请求(在原始请求中发出)不使用 JSON header 但如果我在PHPUnit JSON header 是用的。实际上我相信 Laravel 使用了原始请求的一些配置。
解决方案是在 header
(对于非 JSON header)和 content
(对于 JSON header) - 在这种情况下必须在 data
.
中使用 json_encode
我正在使用 Dingo 来管理我的应用程序 API。它具有分派内部请求 (https://github.com/dingo/api/wiki/Internal-Requests) 的功能,最后它调用 Laravel 内部请求分派器。
我面临以下问题:我向路由发出内部请求,它是一个带参数的 POST。此内部请求在队列作业中调用。如果这个内部请求在队列作业中执行,它会完美地工作,但是如果在我的 PHPUnit 测试中请求被调度但参数没有发送。
我正在调试并在控制器中 $request->input()
return 是一个空数组,但是 $request->request->all()
return 是参数。
在所有情况下我都需要 $request->input()
到 return 参数。
我正在使用 Laravel 5.4 和 Dingo v1.0.0-beta8。
有人吗?
我不明白为什么,但如果我通过 Postman 发出请求,内部请求(在原始请求中发出)不使用 JSON header 但如果我在PHPUnit JSON header 是用的。实际上我相信 Laravel 使用了原始请求的一些配置。
解决方案是在 header
(对于非 JSON header)和 content
(对于 JSON header) - 在这种情况下必须在 data
.
json_encode