1

我使用openapi-generator-cli为使用OpenAPI描述的 REST api 生成 elm 代码。

到目前为止,基本上这对我来说效果很好。但现在我不得不提出一个问题,即我想访问在单独的 OpenAPI 文档中描述的两个微服务。问题是,openapi-generator 为它为其生成接口的每个 REST API 生成一个ApiandApi.Data模块。我已经检查了 openapi-generator 中的模板,但是这些模块名称是固定的,不能更改。

所以我想知道:是否有可能以某种方式在一个 elm 项目中使用两个包含具有相同名称的模块的包?任何其他想法如何在一个 elm 项目中使用两个单独的 API?

4

3 回答 3

3

如果我没有误解你,你可以试试:

import Foo.Api as FooApi
import Bar.Api as BarApi
于 2021-11-25T23:48:47.350 回答
2

您将需要重命名生成项目之一的模块。我建议自动重命名。

这个项目解决了一个类似的问题,所以也许它可以成为有用的灵感。

只分叉生成器并为模块前缀添加一个选项可能是最简单的(并可能将其贡献回来,因为这似乎是一个普遍有用的选项;elm-graphql 已经有了这个)。

于 2021-11-26T10:26:30.253 回答
2

不,Elm 中的模块名称需要不同。在同一个项目中不能有两个同名的模块。您将收到以下错误:

Detected problems in 1 module.
-- AMBIGUOUS IMPORT ----------------------------------------------- src/Main.elm

You are trying to import a `Foo` module:

3| import Foo
          ^^^
But I found multiple files in your "source-directories" with that name:

    src/Foo.elm
    src2/Foo.elm

Change the module names to be distinct!
于 2021-11-26T10:07:38.690 回答