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

NSwag生成文件中InjectionToken注入失效问题排查

问题排查与解决

首先看你提供的代码,最明显的问题是拼写错误:

  • 定义InjectionToken时写的是API_BASE_UR(少了最后一个字母L),但注入和配置提供者时用的是API_BASE_URL,两者不匹配,导致无法正确注入值。

修正步骤:

  1. 修正InjectionToken的名称,确保全局一致:
export const API_BASE_URL = new InjectionToken<string>('API_BASE_URL'); // 补全最后一个L
  1. 校验导入路径正确性
    确认配置提供者的文件中,API_BASE_URL的导入路径'blablablá....'是准确的,路径错误会导致注入的Token不匹配。

  2. 确认提供者的注入层级
    如果你的API客户端服务是在根模块(如AppModule)中注册的,API_BASE_URL的提供者也需要放在根模块的providers数组内;如果是懒加载模块,要确保提供者的作用域能覆盖客户端服务的使用场景,也可以直接给Token配置全局作用域:

export const API_BASE_URL = new InjectionToken<string>('API_BASE_URL', {
  providedIn: 'root',
  factory: () => 'http://testUrl' // 这种方式可直接提供全局默认值
});

完成以上修正后,客户端服务的baseUrl就能正确获取到配置的值了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 21:45:33