Laravel API路由不存在问题:Postman提示api/v1/public/jualan/view找不到
问题描述
尝试通过API从数据库sales表获取数据,但Postman返回错误:
"message": "The route api/v1/public/jualan/view could not be found."
相关代码与配置如下:
控制器代码(JualanController.php)
<?php namespace App\Http\Controllers\Api; use Dompdf\Dompdf; use App\Services\BilService; use Illuminate\Http\Request; use Barryvdh\DomPDF\Facade\Pdf; use Illuminate\Support\Facades\DB; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Http; class JualanController extends Controller { public function pembelian(Request $request) { $user_id = $request['user_id']; $query = DB::table('sales') ->where('user_id', $user_id) ->get(); return response()->json($query); } }
路由代码(api.php)
Route::prefix('v1/public')->name('api.public.')->group(function () { // 其他路由 Route::post('jualan/view', [JualanController::class, 'pembelian']); // 其他路由 }); });
Postman配置
- 请求URL:
http://localhost:8000/api/v1/public/jualan/view - 请求参数格式:
x-www-form-urlencoded
排查与解决办法
补全控制器命名空间引入:在
api.php顶部添加控制器引入代码,否则Laravel无法定位到控制器类:use App\Http\Controllers\Api\JualanController;修复路由语法错误:路由代码末尾多了一组闭合的
});,这会导致语法错误,路由无法正常注册,修正后代码:Route::prefix('v1/public')->name('api.public.')->group(function () { // 其他路由 Route::post('jualan/view', [JualanController::class, 'pembelian']); // 其他路由 });清除路由缓存:若之前生成过路由缓存,新添加的路由不会生效,执行命令刷新:
php artisan route:clear匹配请求方法:路由定义的是
POST方法,确保Postman中选择的请求方法为POST,而非GET或其他类型。校验URL拼写:确认URL中
jualan、view等路径名称与路由定义完全一致,避免拼写错误。
内容的提问来源于stack exchange,提问作者Jabs93
相关产品推荐
相关产品推荐

