Php 如何修复Laravel“;此路由不支持Post方法“;?
我正在尝试使用Laravel Passport创建身份验证,我已经按照官方文档中提到的正确方式配置了所有内容。GET Route方法工作得很好(请参见下面的代码),但当我尝试POST Route方法时,总是会出现以下错误:Php 如何修复Laravel“;此路由不支持Post方法“;?,php,laravel,authentication,oauth,Php,Laravel,Authentication,Oauth,我正在尝试使用Laravel Passport创建身份验证,我已经按照官方文档中提到的正确方式配置了所有内容。GET Route方法工作得很好(请参见下面的代码),但当我尝试POST Route方法时,总是会出现以下错误: 此路由不支持POST方法。支持的方法:GET,HEAD 我用邮递员做测试 我试图包括CSRF令牌,但什么都没有发生,我得到了相同的错误 控制器 class AuthController extends Controller { public function regi
此路由不支持POST方法。支持的方法:GET,HEAD 我用邮递员做测试 我试图包括CSRF令牌,但什么都没有发生,我得到了相同的错误 控制器
class AuthController extends Controller
{
public function register(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
if ($validator->fails()) {
return response(['errors' => $validator->errors()->all()], 422);
}
$request['password'] = Hash::make($request['password']);
$user = User::create($request->toArray());
$token = $user->createToken('Laravel Password Grant Client')->accessToken;
$response = ['token' => $token];
return response($response, 200);
}
public function login(Request $request)
{
$user = User::where('email', $request->email)->first();
if ($user) {
if (Hash::check($request->password, $user->password)) {
$token = $user->createToken('Laravel Password Grant Client')->accessToken;
$response = ['token' => $token];
return response($response, 200);
} else {
$response = "Password missmatch";
return response($response, 422);
}
} else {
$response = 'User does not exist';
return response($response, 422);
}
}
public function logout(Request $request)
{
$token = $request->user()->token();
$token->revoke();
$response = 'You have been succesfully logged out!';
return response($response, 200);
}
}
路线
Route::middleware('auth:api')->get('/user',函数(Request$Request){
返回$request->user();
});
路由::post('/login',Api\AuthController@login')->name('login.api');
路由::post('/register',Api\AuthController@register')->name('register.api');
我希望获得用户注册,并返回auth令牌,但它显示
“此路由不支持POST方法。支持的方法:GET,HEAD。”此行应位于
api.php
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
“此路由不支持POST方法。支持的方法:GET,HEAD”--您在这三个路由中选择了哪一个?第一个路由应该在
api.php
中,对吗?因此,url应该带有前缀api/user
。我想你的问题中没有包含所有信息。@senty是的,我必须在api.php中创建路由。。。它现在很好用,非常感谢