【发布时间】:2017-12-06 21:57:26
【问题描述】:
我正在使用 Laravel。(我是 Laravel 的新手)
我必须在我的网站和外部 api 之间建立连接(无需从我的网站发送请求)。
我想从 api 获取 POST 数据到路由。
我做了什么:
路由/web.php
/**
* routes test
*/
Route::any('/photo/test', [
'uses' => 'TestController@show',
'as' => 'test.show'
]);
控制器:
class TestController extends Controller
{
/**
*
* @return string
*/
public function show(Request $request)
{
var_dump($_GET);
var_dump($_POST);
die(1);
}
}
我检查了从 api 端发送 POST 数据,但在 laravel 超全局数组中 $_POST 和 $_GET 是空的,正如我们在上面看到的(在 var_dump() 函数中)。
我还为 VerifyCsrfToken 添加了这些路由:
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
"photo/test"
];
}
但是添加到异常后,我仍然有空字符串的问题...
谁能帮忙?
【问题讨论】:
-
看看guzzle:github.com/guzzle/guzzle
-
外部 API 必须发送 POST HTTP 请求。
-
@tilz0R 我检查过 - 没问题。
-
@Christophvh 我阅读了有关它的文档。而且我找不到任何关于 - 等待指定路线的响应。只有关于在 url 上发送请求的内容......但我想等待来自外部 api 的请求。
-
在你的路由中放置一个 function(){} 而不是控制器并检查 $_POST 和 $_GET 。另一件事是检查你的 laravel 日志,看看是否记录了错误。