【发布时间】:2021-03-04 03:26:14
【问题描述】:
我没有使用get 方法但仍然收到此错误:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 此路由不支持 GET 方法。支持的方法:POST。
这是我的控制器:
<?php
namespace App\Http\Controllers\api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request
use GuzzleHttp\Client;
class loginuser extends Controller
{
public function log()
{
$client = new Client();
$response = $client->request('POST', 'http://132.148.19.159/OAuth/Token');
$statusCode = $response->getStatusCode();
$body = $response->getBody()->getContents();
return $body;
}
}
这是我的路线:
Route::post('login_user', [loginuser::class, 'log']);
【问题讨论】:
-
你如何测试这个?是在浏览器中吗?
-
如果我们假设您使用的是正确的路线。那么路由的缓存可能会导致问题。你可以试试这个
php artisan route:clear然后php artisan route:cache -
我已经这样做了,但没有成功。
-
您确定您看到的错误涵盖了 Guzzle 调用吗?似乎您正在使用 get 而不是 POST 访问自己的 loginuser 日志路由。您看到的错误来自 Symfony,而不是 Guzzle。验证日志函数中的代码是否实际执行。
-
我已经使用邮递员测试了外部 api,我得到了令牌访问的响应,现在我尝试使用 laravel 来使用它并且它不起作用。我使用 httpClient 然后 Guzzle 只是为了得到同样的错误。
标签: laravel post controller