我试图从另一个Lazy-Loaded功能模块中为其中一个实体重用现有(生成的)服务。
我所做的只是在功能模块中导入包含服务的模块。 e.g。
@NgModule({
imports: [
Module1,
Module2,
ServiceModule
]
})
在 ServiceModule 中有以下内容:
@NgModule({
providers: [
MyService
]
})
但是在我的LazyLoadedModule中的组件中注入 MyService 时 使用其中一种方法给我状态代码:401 Unauthorized。 使用的身份验证方法是JWT令牌,它由JHipster默认代码处理,通过将它们存储在浏览器中。 该服务可以简单地调用后端API,我使用邮递员测试它并且工作正常。
如果我在延迟加载的模块中使用服务,所有这一切都不会发生。知道这里缺少什么吗?
答案 0 :(得分:0)
此问题背后的原因是功能模块中缺少 http-interceptors 。 我正在考虑的http拦截器与 app.module 中使用的相同。因此,修复此问题的方法是将以下代码从app.module.ts复制并粘贴到feature.moduele.ts
case "gemilang/add":
$contacts = getTable("contacts");
if($isAdmin) { $assets = getTable("assets"); } else { $assets = getTableFiltered("assets","clientid",$liu['clientid']); }
$clients = getTable("clients");
$cabang_gemilang = getTable("cabang_gemilang");
$ldap = getTable("ldap");
$admins = getTableFiltered("people","type","admin");
if($isAdmin) { $users = getTableFiltered("people","type","user"); } else { $users = getTableFiltered("people","type","user","clientid",$liu['clientid']); }
break;