我应该如何处理使用 ngrx 效果从同一路线获取数据?

How should I handle fetching data from the same route using ngrx effects?

这只是一个架构问题,我在任何地方都找不到答案。

当前场景是 - 有一台服务器在一个端点上接受 GET 请求。每个请求主体都将具有相同的结构:requestType(字符串)和有效负载(json)。 requestType 在后端映射到一个 switch case,基本上只是模拟多个端点。

现在,在创建依赖此后端的 Angular/NgRx 应用程序时,我应该如何管理这些服务?大概有40个req​​uestType,我应该做40个服务吗?我是否应该创建一个使用 httpClient 来达到那个单一终点的服务,然后使用大量效果来侦听动作,然后创建正确的有效负载并使用该服务?

哪种方法更容易测试?

取决于后端returns。

如果它returns具有不同标志的同一种数据,您可以使用一种存储功能,一种操作和一种效果,该操作应具有 type 属性.

如果它 returns 不同类型的数据,例如用户/公司等,那么不幸的是,您必须创建 40 个商店功能,并为它们编写操作和效果。要减少样板流程,您可以尝试使用 ngrx/data,我不能称其为非常好的库,但在这种情况下,它允许您指定 40 种类型,其余的将自动完成。

否则尝试创建工厂函数和类。