post请求laravel api路由时报 MethodNotAllowedHttpException 错误?

api路由设置

<?php

use Illuminate\Http\Request;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

Route::get('/index', 'HomeController@index');

Route::post('/submit', 'HomeController@submit');

控制器代码

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HomeController extends Controller
{
    public function index()
    {
        return view('index');
    }

    public function submit(Request $request)
    {
        $this->validate($request, [
            'name' => 'required|max:3',
        ]);

        echo 'validate success';
    }
}

错误提示

图片描述

阅读 10.5k
1 个回答

找到问题所在了,是自己写的http请求工具有问题,curl我设置 CURLOPT_FOLLOWLOCATION = true 导致。

CURLOPT_FOLLOWLOCATION 启用时会将服务器返回的"Location: "放在header中递归的返回给服务器,使用 CURLOPT_MAXREDIRS 可以限定递归返回的数量。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏