【问题标题】:MethodNotAllowedHttpException in Laravel, Request::isMethod('') not workingLaravel 中的 MethodNotAllowedHttpException,Request::isMethod('') 不起作用
【发布时间】: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


    【解决方案1】:

    您是否尝试添加新路线?

    Route::get('/register', function () {
       return response()->json(['status' => 'error', 'message' => 'Method not Allowed.'], 405);
    });
    

    【讨论】:

      【解决方案2】:

      使用 Laravel any 接受所有 HTTP 请求的路由方法,你的代码如下所示

      Route::any('/register', 'AuthController@register');
      

      希望对你有帮助。

      【讨论】:

      • 你是上帝。 :-)
      猜你喜欢
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 2019-06-15
      • 2017-03-14
      • 1970-01-01
      • 2018-09-17
      • 2016-10-20
      • 2015-02-02
      相关资源
      最近更新 更多