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

Laravel跨项目调用带id路径参数的API返回404错误如何解决

问题原因
  • 路由参数类型不匹配:项目A定义的是路径参数路由/getBook/{id},要求id参数必须拼接在URL路径中;你当前的写法是将id作为查询参数传递,实际发起的请求地址为http://127.0.0.1:900/api/getBook?id=1,和项目A的路由规则完全不匹配,直接触发404。
  • 路由前缀不一致:项目A定义的路由路径是/getBook/{id},你请求的地址额外加了/api前缀,如果项目A没有给该路由配置全局/api前缀,该请求地址本身就不存在。
修复方案

方案1:按现有路由规则修改请求写法

确认项目A的路由是否配置了全局/api前缀,将id直接拼接到请求路径中即可:

Route::get("/api/testing", function () {
    // 若项目A没有配置/api前缀,请求地址改为 http://127.0.0.1:900/getBook/1
    $response = Http::get('http://127.0.0.1:900/api/getBook/1');
    
    return $response;
});

方案2:修改项目A路由支持查询参数传参

如果你希望保留当前传参写法,可以调整项目A的路由规则,改为接收查询参数:

Route::get("/getBook", function (\Illuminate\Http\Request $request) {
    return response()->json(BlogArticle::find($request->input('id')));
});
额外检查项
  • 确认项目A实际运行端口为900,不要和另一个项目的端口混淆
  • Laravel 8以下版本需要手动安装guzzlehttp/guzzle依赖才能正常使用Http客户端

内容的提问来源于stack exchange,提问作者Thymeleaf

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 23:06:12