laravel API:该路由不支持POST方式,支持的方法:GET,HEAD

tgabmvqs  于 2023-06-24  发布在  其他
关注(0)|答案(4)|浏览(130)

当我用 Postman 发送时,我收到了这个错误消息:“此路由不支持POST方法。支持的方法:得到,头。”
api.php

Route::post('/coproprietaires/store_api','App\Http\Controllers\CoproprietaireController@store_api');

我的控制器

<?php

namespace App\Http\Controllers;

use App\Coproprietaire;
use Illuminate\Http\Request;

/**
 * Class CoproprietaireController
 * @package App\Http\Controllers
 */
class CoproprietaireController extends Controller
{
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request $request
     * @return \Illuminate\Http\Response
     */
    public function store_api(Request $request)
    {
        request()->validate(Coproprietaire::$rules);

        request()->validate(Lot::$rules);
        $coproprietaire = Coproprietaire::create($request->all());
        $lot = Lot::create($request->all());
        $coproprietaire->lots()->save($lot);

        

        if ($coproprietaire)
        {
            return response()->json(['success' => 'success'], 200);
        }
    }
}
lawou6xi

lawou6xi1#

使用php artisan route:list,您应该首先看到路由列表。从那里你会看到你应该使用你正在使用的函数的方法。你应该使用你看到的方法来确定你的路线。

evrscar2

evrscar22#

如果你使用的是laravel 8,那么有一个不同的过程来使用路由。
后藤路由文件并在文件顶部声明此代码。

use App\Http\Controllers\ProductController;
Route::post('/coproprietaires/store_api',[CoproprietaireController::class , 'store_api']);
blmhpbnm

blmhpbnm3#

在我的例子中,我没有在我的axios请求之前添加“API”前缀。像这样:

axios.post('api/search/items',data)
.then(function(response) {
  console.log(response)
})
.catch(function(){
  console.log(response)
})

希望这能帮上忙。

eqqqjvef

eqqqjvef4#

试试这个

Route::post('coproprietaires/store_api','App\Http\Controllers\CoproprietaireController@store_api');

您不需要在路由前加上/前缀。
然后运行php artisan cache:clearphp artisan route:cache
然后使用php artisan route:list检查你的路由地址。

相关问题