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

Hyperledger Angular应用报错“Could not find API route”求助排查

解决Hyperledger Fabric Composer Angular应用404 API路由错误

我之前在Hyperledger Fabric Composer开发中也碰到过一模一样的问题,这个404错误本质是Angular UI没法连接到Composer REST服务器——UI发起的API请求找不到对应的服务端点,不管是自定义应用还是模板应用都出问题,大概率是REST服务器的配置或启动环节出了岔子,和UI本身关系不大。下面给你分步排查解决:

1. 先确认Composer REST服务器真的在正常运行

你提到执行了composer-rest-server,但得确保它持续运行,而且监听的是Angular默认期望的端口(默认是3000):

  • 查看REST服务器的启动日志,正常启动会输出 Listening on http://localhost:3000
  • 如果没启动,重新执行composer-rest-server,按提示选择:
    • 已导入的admin@my_app卡片(必须是这个管理员卡片)
    • 测试阶段允许匿名访问(选Yes)
    • 启用事件发布(选Yes)
    • 不启用TLS(选No)
  • 注意启动REST服务器的终端窗口不能关闭,它得一直运行才能处理API请求

2. 检查Angular应用的API端点配置

自动生成的Angular应用默认指向http://localhost:3000/api,要是REST服务器端口不对或者地址错误,肯定会触发404:

  • 进入Angular应用的src/environments目录,打开environment.ts文件
  • 找到apiUrl字段,确认它和你的REST服务器地址一致,示例如下:
    export const environment = {
      production: false,
      apiUrl: 'http://localhost:3000/api'
    };
    
  • 修改配置后记得重新执行ng serve重启Angular应用

3. 验证REST服务器的API是否真的可用

直接在浏览器访问REST服务器的API根地址(比如http://localhost:3000/api),如果能看到Swagger文档页面,说明REST服务没问题;要是也出现404,那问题出在REST服务器本身:

  • 执行composer card list确认admin@my_app卡片存在,要是没有就重新执行composer card import -f admin@my_app.card
  • 重启REST服务器,确保选择的业务网络是my_app

4. 检查业务网络部署是否完整

有时候网络部署不彻底也会导致REST服务没法正常提供API:

  • 执行composer network list -c admin@my_app,确认my_app业务网络已经成功部署并运行
  • 如果显示网络未运行,重新执行部署命令:
    composer network start --networkName my_app --networkVersion 0.0.1 --card PeerAdmin@hlfv1 --networkAdmin admin --networkAdminEnrollSecret adminpw
    
  • 部署完成后重新导入管理员卡片再启动REST服务器

额外提醒

  • 确保本地的4200(Angular)和3000(REST服务器)端口没被其他程序占用
  • 要是启动composer-rest-server时选择了别的端口,一定要同步修改Angular应用里的apiUrl配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:48:15