首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将配置文件(openapitools.json)与@openapitools/openapi-生成器-cli一起使用?

如何将配置文件(openapitools.json)与@openapitools/openapi-生成器-cli一起使用?
EN

Stack Overflow用户
提问于 2020-12-08 18:14:34
回答 1查看 3.3K关注 0票数 8

我使用@openapitools/openapi-generator-cli(v2.1.7)生成客户端API库。

它工作得很好,除了我不能按我想要的方式格式化生成的代码。

我刚刚注意到有一个新的选项,它允许配置示例中提到的空格(“空格”:2):

代码语言:javascript
运行
复制
{
  "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
  "spaces": 2,
  "generator-cli": {
    "version": "4.3.1",
    "storageDir": "~/my/custom/storage/dir", // optional
    "generators": { // optional
      "v2.0": { // any name you like (just printed to the console log) 
        "generatorName": "typescript-angular",
        "output": "#{cwd}/output/v2.0/#{ext}/#{name}",
        "glob": "examples/v2.0/{json,yaml}/*.{json,yaml}",
        "additionalProperties": {
          "ngVersion": "6.1.7",
          "npmName": "restClient",
          "supportsES6": "true",
          "npmVersion": "6.9.0",
          "withInterfaces": true
        }
      },
      "v3.0": { // any name you like (just printed to the console log) 
        "generatorName": "typescript-fetch",
        "output": "#{cwd}/output/v3.0/#{ext}/#{name}",
        "glob": "examples/v3.0/petstore.{json,yaml}"
      }
    }
  }
}

这听起来很棒!

问题是我不能使用

官方页面

如果在不使用其他参数的情况下调用openapi-generator-cli generate,则会自动使用该配置来生成您的代码。

当我这样做的时候:

代码语言:javascript
运行
复制
openapi-generator-cli generate

我一直坚持一个错误:

错误缺少必需的选项'-i‘

如果我添加-i参数,例如:

代码语言:javascript
运行
复制
openapi-generator-cli generate -i http://localhost:8081/v2/api-docs

则"openapitools.json“文件将被忽略,并被默认配置覆盖:

代码语言:javascript
运行
复制
{
  "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
  "spaces": 2,
  "generator-cli": {
    "version": "4.3.1"
  }
}

我也尝试了之前使用的方法,并添加了参数"-spaces=2":

代码语言:javascript
运行
复制
openapi-generator-cli generate -i http://localhost:8081/v2/api-docs -g typescript-angular -o src/app/tools/openapi -spaces=2

但是它又一次不起作用了,再加上我现在有一个无用的文件(openapitools.json)困扰着我的强迫症!

关于信息,我的npm版本(npm -v)是:

6.14.8

我使用的是最新的Angular版本:

11.0.0

EN

回答 1

Stack Overflow用户

发布于 2020-12-31 23:14:30

我遇到过您所描述的类似问题;特别是“被默认配置覆盖”。

我确实认为无效的opanapitools.json会导致它被完全重置。似乎是注释导致了这些验证错误。

也许可以删除它们,然后重试。

希望这能有所帮助,我用package.json->脚本运行了它,如下所示。

尽管"spaces“属性似乎只被使用,但当cli编写它自己的配置文件时。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65196962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档