代码之家  ›  专栏  ›  技术社区  ›  CoderJammer

springdoc openapi生成器模板定制

  •  0
  • CoderJammer  · 技术社区  · 6 月前

    我使用的是SpringBoot 3.4.1、Java 21.0.5和openapi生成器maven插件7.10.0版。 我想自定义Spring(服务器)生成器模板,为此,我按照官方文档安装了openapi-cli here .

    因此,为了获取模板,我键入了以下命令:

    openapi-generator-cli author template -g spring --library spring-boot -o mytemplates
    

    上面的命令下载模板 mytemplates 文件夹。我有两个问题:

    1. 在这里面,我只找到了 *.mustache 文件和否 *.class *.java 文件。对吗?
    2. 我可以在maven构建配置中添加我的自定义选项,并在 .mustache 文件*

    *示例

    假设这是我的openapi生成器maven插件配置:

    <build>
        <plugins>
            <plugin>
                <groupId>org.openapitools</groupId>
                <artifactId>openapi-generator-maven-plugin</artifactId>
                <version>7.10.0</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <inputSpec>${project.basedir}/src/main/resources/api-docs.yaml</inputSpec>
                            <templateResourcePath>${project.basedir}/src/templates/mytemplates</templateResourcePath>
                            <output>${project.build.directory}/generated-sources</output>
                            <generatorName>spring</generatorName>
                            <apiPackage>resources</apiPackage>
                            <modelPackage>model</modelPackage>
                            <generateSupportingFiles>false</generateSupportingFiles>
                            <myCustomProperty>true</myCustomProperty> <!-- my property -->
                            <configOptions>
                                <!-- options -->
                            </configOptions>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    

    如果我定义一个 <myCustomProperty> 在maven构建配置中(如上所述)并在 *.胡子 文件格式如下:

    {{#myCustomProperty}}
      .. do some if myProperty is true!
    {{/myCustomProperty}}
    

    它会奏效吗?

    1 回复  |  直到 6 月前
        1
  •  1
  •   d0x    6 月前

    是的,会的。您的自定义属性将传递给胡子模板,因此您也可以在那里引用它。

    很抱歉简短的回答,我得去别的地方,但如果你想的话,我会试着记得填一下;到那时,其他人都没有。