-2

我正在尝试使用 Angular In-Memory Web API。我有许多用作 CRUD 的 API,但问题是我有嵌入和分页的响应。

这是我的 CRUD 之一的示例:

readPage(externalId: string, page: number, size: number, sort: string, search: string): Observable<FooPage>;

FooPage 是这样声明的:

export interface FooPage {
   embedded: {
      foos: Foo[]
   },
   _links: Link[],
   page: PageDetail
}

readOne:

readOne(externalId: string, fooId: string): Observable<Foo>;

创造

createFoo(externalId: string, fooCreate: FooCreate): Observable<Foo>;

更新

updateFoo(externalId: string, fooId: string, fooUpdate: FooUpdate): Observable<Foo>;

您对使用这种 CRUD 结构的 In-Memory Web API 有任何想法吗?关于使用另一个模拟库有什么建议吗?

4

1 回答 1

0

我通过使用这种方法找到了解决方案:

protected responseInterceptor(res: ResponseOptions, ri: RequestInfo): ResponseOptions;

然后在这种方法中,我只需将响应正文设置如下:

res.body = {
  _embedded: {
    foos: res.body
  },
  page: {
    total_elements: foos.length
  }
} as FooPage;
于 2022-01-18T07:52:18.373 回答