openapi生成器asciidoc限制参数列,省略类型



有没有办法指定哪些列出现在"参数"部分?例如,我想使用模式/类型而不是模式。

我的配置:

<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>5.3.0</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/target/openapi.json</inputSpec>
<generatorName>asciidoc</generatorName>
<configOptions>
<useIntroduction>true</useIntroduction>
</configOptions>
<skipValidateSpec>true</skipValidateSpec>
</configuration>
</execution>
</executions>
</plugin>

以下是相关的源代码片段:

/myapi/{resourceId}:
get:
tags:
- Api Operations
summary: Get a widget
description: Get a widget by its resource id
operationId: findOne
parameters:
- name: resourceId
in: path
required: true
schema:
type: string
- name: affiliateId
in: header
required: false
schema:
type: integer
format: int64
default: 256

以及相关的输出片段:

====== Header Parameters
[cols="2,3,1,1,1"]
|===
|Name| Description| Required| Default| Pattern
| affiliateId
|  
| -
| 256
| 
|===

代替";图案";列中,我希望它显示类似Schema的内容以及integer和/或int64的值。

我通过编辑胡子模板解决了这个问题:

在克隆了openapi生成器项目后,我在模块(链接(下从src/main/resources/asciidoc-documentation找到并复制了以下两个文件:params.mustacheparam.mustache,到我自己的/src/main/resources/openapi下的项目中。

然后我打开CCD_ 5;图案";至";数据类型";。

类似地,在CCD_ 6中;{{{pattern}}}";用";{{dataType}}";

然后,在openapi-generator-maven-plugin的maven pom文件插件配置中,我在configuration元素下添加了以下元素:

<templateDirectory>${project.basedir}/src/main/resources/openapi</templateDirectory>

运行mvn-clean编译得到了所需的输出:

[cols="2,3,1,1,1"]
|===
|Name| Description| Required| Default| Data Type
| affiliateId
|  
| -
| 256
| Long

注意:为了获得正确的模型字段名称,我在配置元素<verbose>true</verbose>下启用了debug,然后发出命令(类似于(:mvn org.openapitools:openapi-generator-maven-plugin:5.3.0:generate@my-execution-id -pl mysubmodule -X -l out.txt;打开out.txt并搜索";headerParams";或";affiliateId";并找到与数据类型对应的字段名称,在我的情况下;dataType";以及";dataFormat";其中我选择了前者。

还要注意,我不需要将index.mustachemodel.mustache等复制到我的项目中,只需要上面提到的两个模板文件。

相关内容

  • 没有找到相关文章

最新更新