首页 > 解决方案 > 使用 Laravel 8 使用外部 api

问题描述

我没有使用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']);

标签: laravelpostcontroller

解决方案


据我所知,您将软件包安装到composer require guzzlehttp/guzzle 您的控制器中:

<?php
namespace App\Http\Controllers\api;
use  App\Http\Controllers\Controller;
use Illuminate\Http\Request
use Illuminate\Support\Facades\Http;

class loginuser extends Controller
{
    public function log()
    {
        $response = Http::post('http://132.148.19.159/OAuth/Token');
        $body = $response->body();
        return $body;
    }
}

参考:https ://laravel.com/docs/8.x/http-client


推荐阅读