Php &引用;MethodNotAllowedHttpException“;使用laravel 5.4为我的android应用程序构建api时
AuthController.php代码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
<?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');
});