首页 > 解决方案 > GuzzleHttp Laravel 登录 API 使用 GET 请求

问题描述

我想为用户注册和登录创建 Laravel REST API。我创建了用于注册的 POST 方法。现在我想使用 GET 方法使用 GuzzleHttp 登录。我怎样才能做到这一点?我的路线:

Route::group(['middleware' => 'api'], function() {
Route::group(['prefix' => 'v1'], function () {
    Route::post('/register', 'Api\V1\AuthController@register')->name('user.register');
    Route::get('/signin', 'Api\V1\AuthController@signin')->name('user.signin');
});

});

这是我的控制器:

namespace App\Http\Controllers\Api\V1;

use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Http\Request;
use Tymon\JWTAuth\Exceptions\JWTException;
use Tymon\JWTAuth\JWTAuth;
use GuzzleHttp\Exception\GuzzleException;
use GuzzleHttp\Client;

    class AuthController extends Controller
    {
         public function register(Request $request)
        {
            $this->validate($request, [
                'name' => 'required',
                'email' => 'required|email',
                'password' => 'required|min:5'
            ]);

            $name = $request->input('name');
            $email = $request->input('email');
            $password = $request->input('password');

            $user = new User([
                'name' => $name,
                'email' => $email,
                'password' => bcrypt($password)
            ]);

            if($user->save()){
                $response = [
                    'msg' => 'User created',
                    'user' => $user
                ];

                return response()->json($response, 201);
            }

            $response = [
                'msg' => 'Error occured'
            ];

            return response()->json($response, 404);
        }

        public function signin(Request $request)
        {
            $client = new GuzzleHttp\Client();
            $this->validate($request, [
                'email' => 'required|email',
                'password' => 'required'
            ]);
        }    
    }

任何人都做过这样的事情。提前致谢。

标签: laravel-5guzzle

解决方案


访问这样的signin路线http://your.domain/signin?email=cool@email.com&password=fooandbar

访问emailandpassword参数

使用$request->email$request->password


推荐阅读