【发布时间】:2019-02-12 22:51:22
【问题描述】:
免责声明:在其他问题中已经有一些对我完全不起作用的解决方案。这就是我写这个问题的原因。我在这里检查了解决方案...StackOverflow link
我知道它为什么会发生:它正在等待 POST 请求,但我提供了一个破坏游戏的 GET 请求。但是,我想要在/api/register 发出 GET 请求时显示错误消息
我做了什么来阻止这种情况:
AuthController@register
public function register(Request $request)
{
$method = $request->method();
if ($method != 'POST'){
return response()->json(['status' => 'error', 'message' => 'Method not Allowed.'], 405);
}
try{
$user_registered = User::create([
'fname' => $request->fname,
'lname' => $request->lname,
'email' => $request->email,
'password' => Hash::make($request->password),
'verificationToken' => str_random(100),
'status' => 'STARTER',
'api_token' => str_random(100)
]);
$user = User::find($user_registered->id);
} catch(\Exception $e){
return response()->json(['status' => 'error', 'message' => 'User cannot be registered due to illegal or incomplete entry.'], 401);
}
return response()->json(['status' => 'success', 'user' => $user], 200);
}
所以你看到我正在使用 if 语句来检查使用了什么方法。但它仍然无法正常工作。
这是我的routes/api.php 文件:
Route::middleware('auth:api')->get('/user', function (Request $request) {
return $request->user();
});
Route::post('/register', 'AuthController@register');
请帮我解决这个问题。 提前致谢。
【问题讨论】:
标签: php laravel rest api laravel-5