我使用openapi发生器-cli为使用OpenAPI描述的REST生成elm代码。
到目前为止,这对我来说是很好的。但是现在我要解决的问题是,我想访问在单个OpenAPI文档中描述的两个微服务。问题是,openapi生成器为它生成接口的每个REST生成一个Api
和Api.Data
模块。我已经检查了openapi生成器中的模板,但是这些模块名是固定的,不能更改。
因此,我想知道:在一个榆树项目中是否可能使用两个包,其中包含同名的模块?对于如何在一个elm项目中使用两个单独的API,还有其他的想法吗?
发布于 2021-11-26 02:26:30
您需要重命名其中一个生成的项目的模块。我建议将此重命名自动化。
这个项目解决了一个类似的问题,所以它可能是有用的灵感。
可能最简单的方法是分叉生成器并为模块前缀添加一个选项(并可能将其贡献回来,因为这似乎是一个普遍有用的选项;elm已经有了此功能)。
发布于 2021-11-25 15:48:47
如果我不误解你,你可以试试:
import Foo.Api as FooApi
import Bar.Api as BarApi
发布于 2021-11-26 02:07:38
不是的。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!
https://stackoverflow.com/questions/70117928
复制相似问题