我使用@openapitools/openapi-generator-cli(v2.1.7)生成客户端API库。
它工作得很好,除了我不能按我想要的方式格式化生成的代码。
我刚刚注意到有一个新的选项,它允许配置示例中提到的空格(“空格”:2):
{
"$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,则会自动使用该配置来生成您的代码。
当我这样做的时候:
openapi-generator-cli generate我一直坚持一个错误:
错误缺少必需的选项'-i‘
如果我添加-i参数,例如:
openapi-generator-cli generate -i http://localhost:8081/v2/api-docs则"openapitools.json“文件将被忽略,并被默认配置覆盖:
{
"$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json",
"spaces": 2,
"generator-cli": {
"version": "4.3.1"
}
}我也尝试了之前使用的方法,并添加了参数"-spaces=2":
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
发布于 2020-12-31 23:14:30
我遇到过您所描述的类似问题;特别是“被默认配置覆盖”。
我确实认为无效的opanapitools.json会导致它被完全重置。似乎是注释导致了这些验证错误。
也许可以删除它们,然后重试。
希望这能有所帮助,我用package.json->脚本运行了它,如下所示。
尽管"spaces“属性似乎只被使用,但当cli编写它自己的配置文件时。
https://stackoverflow.com/questions/65196962
复制相似问题