Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php &引用;MethodNotAllowedHttpException“;使用laravel 5.4为我的android应用程序构建api时_Php_Android_Api_Laravel 5.4 - Fatal编程技术网

Php &引用;MethodNotAllowedHttpException“;使用laravel 5.4为我的android应用程序构建api时

Php &引用;MethodNotAllowedHttpException“;使用laravel 5.4为我的android应用程序构建api时,php,android,api,laravel-5.4,Php,Android,Api,Laravel 5.4,AuthController.php代码 <?php namespace App\Http\Controllers\Api; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; use JWTAuth; use App\User; use JWTAuthException; class AuthController extends Control

AuthController.php代码

<?php

 namespace App\Http\Controllers\Api;
 use Illuminate\Http\Request;
 use App\Http\Requests;
 use App\Http\Controllers\Controller;
 use JWTAuth;
 use App\User;
 use JWTAuthException;

 class AuthController extends Controller
{
 private $user;


 public function __construct(User $user)
{
    $this->user = $user;
}   
public function register(Request $request)
{
    $this->validate($request, [
            'email'=> 'required|email|unique:users',
            'first_name'=> 'required|max:120',
            'password' => 'required|min:4'
            ]);   

    $user = $this->user->create([
    'name' => $request->get('name'),
    'email' => $request->get('email'),
    'password' => bcrypt($request->get('password'))
        ]);

    $user->save();
    if(!$user){
            return response()->json(['status'=>false,'message'=>'User not created']);
    }
    else {
        return response()->json(['status'=>true,'message'=>'User created successfully','data'=>$user]);
    }

}

public function login(Request $request)
{
    $this->validate($request, [
            'email'=> 'required',
            'password'=> 'required'
            ]);  

    $credentials = $request->only('email','password');
    $token = null;

    try {
        $token = $this->jwtauth->attepmt($credentials);
        if(!$token)
        {
            return response()->json(['invalid email or password'], 422);
        }
    }
    catch (JWTAuthException $ex) 
    {
         return response()->json(['failed to create token'], 500);
    }

     return response()->json(compact('token'));
}


public function getAuthUser(Request $request){
    $user = JWTAuth::toUser($request->token);
    return response()->json(['result' => $user]);
}
}

*我确信我的代码中有一些小错误,因为“getAuthUser”方法正在工作并检查是否有令牌。如果有人帮了我,我会很感激的*

那么,哪种方法会给你带来错误

因为您确实指定了“getAuthUser”工作正常;因为你会遇到这样的错误,我假设你说的是“注册”和“登录”

无论如何,当您试图使用不正确的请求访问路由时,就会发生这种错误。如果您试图访问/注册和/或登录,则必须使用“POST”请求,而不是“GET”

Route::post('register', 'api\AuthController@register');
Route::post('login', 'api\AuthController@login');
Route::group(['middleware' => 'jwt.auth'], function () {
Route::get('user', 'api\AuthController@getAuthUser');

});