ABP:微服务架构,Angular 和代理生成

ABP: Microservice architecture, Angular and proxy-generation

在具有 Angular 前端的微服务架构中使用 ABP 3.2.1。

我们有几个微服务(我们称它们为会计、客户和订单),每个微服务都有一个带有区域属性(模块名称)的控制器和根据微服务名称命名的远程服务。 使用 Abp CLI,我们正在尝试为这些服务中的每一个单独生成代理。
我们的 environment.ts 文件的片段:

apis: {
    default: {
      rootNamespace: "Example",
      url: 'https://localhost:5000',
    },
    Accounting: {
      rootNamespace: "Example",
      url: 'https://localhost:5010',
    },
    Customer: {
      rootNamespace: "Example",
      url: 'https://localhost:5011',
    },
    Order: {
      rootNamespace: "Example",
      url: 'http://localhost:5012',
    }

第一次运行生成代理时,它工作正常。例如 abp generate-proxy --module order --api-name Order.
然而,当 运行 这是第二次针对不同的 API (例如,abp generate-proxy --module accounting --api-name Accounting,它失败并显示错误消息:
[Invalid Module] Backend module "order" does not exist in API definition - 但是,当出现此错误时,我们实际上是在尝试定位“会计”模块。
这里的行为似乎是它期望任何先前生成的模块都存在于所有目标 API 中。

有没有人让它成功运行?任何建议的解决方法?

这里的问题是;您没有单独的 Angular 模块,但您的前端有单独的后端模块。这使得后端和前端 API 用法不兼容。 abp generate-proxy 生成所有模块,因为不同模块之间可能共享公共 DTO 或对象。所以最好的做法是 BFF Backends For Frontends pattern.

因此答案是;创建订单和会计 Angular 个模块。

见;