angular - NgRx 数据自定义 URL 生成器

标签 angular ngrx angular-ngrx-data

我是 NgRx 的新手。经过初步研究 NgRx,尤其是 NgRx 数据包似乎非常适合我正在开发的应用程序。需要注意的是,我们的实体由具有非常规路线的微服务支持。

每个实体都有自己的微服务,任何操作都通过 URL 参数中的基本记录 ID 进一步隔离。

[microServiceRoute]/[baseRecordId]/entityEndpoint

我有一个路由查找表,但 baseRecordId 将保存在商店中。 NgRx 数据文档有一个简单示例概述了 URLGenerator 的替换。

如何在每个实体的基础上指定我的微服务路由,同时让这个生成器从商店读取?这可以很容易地完成,还是我应该从每个实体的自定义服务 Angular 来处理这个问题?

https://ngrx.io/guide/data/extension-points#replace-the-httpurlgenerator

最佳答案

你完全正确,你需要实现你自己的 HttpUrlGenerator 类来服务于所需的端点,并在导入 EntityDataModule.forRoot 的模块中提供,例如

providers: [
  {
    provide: HttpUrlGenerator,
    useClass: MyApiHttpUrlGenerator,
  },
],

目前有一个更改 API 前缀的配置键,但它不允许为每个实体指定端点:https://ngrx.io/guide/data/entity-dataservice#provide-a-custom-configuration

const defaultDataServiceConfig: DefaultDataServiceConfig = {
  root: 'https://my-api-domain.com:8000/api/v1',
}

@NgModule({
  providers: [{
    provide: DefaultDataServiceConfig,
    useValue: defaultDataServiceConfig,
  }]
})

关于angular - NgRx 数据自定义 URL 生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61905499/

相关文章:

angular - Ionic 4 FileOpener 插件_未安装

typescript - 使用 TypeScript 2.4.1 在 @ngrx/effects 中观察到的操作出错

angular - @NgRx 实体之间如何建立多对多关系?

angular - 使用 LocalStorage 中的 AuthToken 为 NgRx Store 补水的正确方法和位置

angular - Ngrx-data 选择单个实体

javascript - 在浏览器控制台中获取调度的 NGRX 项目

javascript - Firebase 快照返回对象而不是数组来迭代

angular - primeNG 表上的可编辑行问题

ios - Ionic 2 fileTransfer.download 在 iOS 上没有反应

javascript - InvalidPipeArgument : '[object Object]' for pipe 'AsyncPipe' , 无法修改 HTML