上传Laravel 6.0项目后,我得到“此路由不支持GET方法。受支持的方法:POST”。错误

时间:2019-12-20 20:20:35

标签: php laravel api laravel-6

该项目正在我的本地服务器上正常运行。但是将项目上传到服务器后,我得到了

  

此路由不支持GET方法。支持的方法:POST。

错误。我使用了Laravel 6.0

Api.php:

Route::post('rates', 'ShippoController@rates');

控制器:

public function rates(Request $request){
    $validatedData = $request->validate([
        'email' => 'required|email',
        'name' => 'required',
        'token' => 'required',
    ]);

    try{

        $carts = Cart::whereToken($request->token)->get();
        if (count($carts) == 0){
            return response()->json([
                'status' => 0,
                'message' => 'Invalid cart token.',
            ], Response::HTTP_NOT_IMPLEMENTED);
        }

        ...

        return response()->json([
            'status' => 1,
            'data' => $data,
        ], Response::HTTP_OK);
    }
    catch (\Exception $e){
        return response()->json([
            'status' => 0,
            'message' => $e->getMessage()
        ], Response::HTTP_BAD_GATEWAY);
    }
}

It is a screenshot while working on my local server:

It is the error after uploading to the server

1 个答案:

答案 0 :(得分:1)

您的问题是http://canvas.safedevs.com/重定向到https://canvas.safedevs.com/。发生重定向时,POST会转换为GET,并且帖子数据会丢失。

将请求发送到端点的HTTPS版本,它应该可以正常工作。

失眠apparently has a feature to disable automatically following redirects,您可以考虑将其打开。这样可以使您更好地了解此类问题。