我有一条这样的路线:
Route::prefix('orders')->group(function () {
Route::post('/countries', [OrderController::class, 'listCountry']);
Route::get('/{id}', [OrderController::class, 'show']);
});
当我调用 Post 方法“example.com/api/orders/countries”时,我收到一条错误消息
Argument #1 ($id) must be of type int, string given
我猜 Laravel 调用 Get 方法而不是 Post(使用“国家”作为参数),有什么办法可以解决这个问题吗?
您可以使用命名路线:
Route::prefix('orders')->group(function () {
Route::post('/countries', [OrderController::class, 'listCountry'])->name('orders.countires');
Route::get('/{id}', [OrderController::class, 'show'])->name('orders.show');
});
现在使用 url 作为:
route('orders.countries')
形式动作