首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NGRX数据entityResourceUrl取决于其他实体。动态urls?

NGRX数据entityResourceUrl取决于其他实体。动态urls?
EN

Stack Overflow用户
提问于 2019-11-12 06:39:55
回答 3查看 1.5K关注 0票数 0

通常,当我想指定实体的url时,我会为它提供一个特定的url,比如serverURL/heroes.。但是现在我有一个例子,我想使用属于其他实体的实体。例如,让我说我想使用英雄的武器。我的用于剑的http urls看起来类似于:serverURL/heroes/heroID/weapons.因此,假设我需要添加新的剑,我唯一的选择是将它添加到特定的英雄中,所以我需要了解heroesID和刀剑信息才能完成如下工作: HTTP POST http.post('serverURL/heroes/heroID/weapons', swordObject);

目前,当我在entityHttpResourceUrls中添加DefaultDataServiceConfig中的英雄url时。你可以看到stackblitz示例。转到app->store-> entity-store.module.ts。这就是我通常指定网址的地方。

我该怎么处理我的案子?如何为子实体拥有动态urls?

更新

根据我在这个问题上的发现,ngrx-data还不支持参数。

https://github.com/ngrx/platform/issues/1934

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-10-29 14:08:44

我最后使用了getWithQuery函数:

代码语言:javascript
复制
getWithQuery(params: QueryParams): Observable<Weapon[]> {

    const hero= params['heroId'] || '';
    const pageIndex = params['pageIndex'] || '0';
    const pageSize = params['pageSize'] || '25';
    const apiUrl = `api/hero/${heroId}/weapons/?page=${pageIndex}&size=${pageSize}`

    return this.http.get(apiUrl)
}

而不是使用getAll。

票数 0
EN

Stack Overflow用户

发布于 2020-01-24 08:51:46

在我的例子中,我创建了服务:

代码语言:javascript
复制
@Injectable()
export class OrganizationDataService extends DefaultDataService<Organization> {
  constructor(http: HttpClient, httpUrlGenerator: DefaultHttpUrlGenerator, logger: Logger) {
    super('Organization', http, httpUrlGenerator);
  }

  getAll(): Observable<Organization[]> {
    console.log('getAll called');
    // custom call to api correct variant:
    return this.execute('GET', `${environment.apiUrl}org/${someId}/apps`)
    // custom call to api also worked variant:
    // return this.http.get<Organization[]>(`${environment.apiUrl}org/${someId}/apps`);
  }
}
票数 3
EN

Stack Overflow用户

发布于 2019-11-13 20:55:54

您需要使用来自NGRX的路由器存储

在商店里,您有这样的选择器:

selectQueryParamsselectRouteParamsselectRouteDataselectUrl

因此,您可以很容易地获得您的所有需求,以建立不同的路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58813301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档