我正在尝试为OpenApi3.0.2规范生成一个服务器端SpringMVC代码。
这是其中一条路径的样子:
paths:
/api/v1/int/integrations/{some-path-variable}/some-action:
get:
summary: Summary
description: How to change the generated Api/Controller class name?
operationId: methodName
tags:
- inventory
parameters:
- name: Authorization
other details....
使用Maven插件生成服务器端代码,该插件配置为:-
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>4.1.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/open-api/myapi.yaml</inputSpec>
<generatorName>spring</generatorName>
<library>spring-boot</library>
<output>${project.build.directory}/generated-openapi/spring</output>
<generateApis>true</generateApis>
<addCompileSourceRoot>true</addCompileSourceRoot>
<artifactVersion>${project.version}</artifactVersion>
<groupId>com.company.division</groupId>
<artifactId>myapi-api</artifactId>
<generateApiTests>true</generateApiTests>
<modelPackage>com.company.division.myapi.generated.model</modelPackage>
<apiPackage>com.company.division.myapi.generated.api</apiPackage>
<generateApiDocumentation>true</generateApiDocumentation>
<configOptions>
<dateLibrary>java8</dateLibrary>
<java8>true</java8>
<interfaceOnly>true</interfaceOnly>
<reactive>false</reactive>
<useBeanValidation>true</useBeanValidation>
<performBeanValidation>true</performBeanValidation>
<useOptional>false</useOptional>
<serviceInterface>true</serviceInterface>
<serviceImplementation>false</serviceImplementation>
</configOptions>
</configuration>
</execution>
</executions>
</plugin>
正如在插件配置中看到的,我只对生成模型类和Spring控制器接口/ API接口感兴趣。
问题
对于提到的OpenAPI规范,生成的MVC控制器接口命名为ApiApi
。我猜这是从路径的开始部分派生的。我可以去掉/api/v1/int
部分,但这将生成名为IntegrationsApi
的接口,但我不希望它被命名为InventoryApi
。我们有什么选项来控制生成的控制器接口?
1条答案
按热度按时间jhdbpxl91#
'useTags'创建接口和控制器类名
在插件配置中设置
useTags
configOption解决了我的问题: