You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 17:45:20