大约 4-5 年前,我为客户设置了许多微服务。它们使用 Swagger 和后来的 OpenAPI 来定义服务。我使用 Maven
openapi-generator-maven-plugin
生成 API、模型和实现代码。
我现在正在尝试为另一个客户端设置类似的流程,但我无法让它创建我记得的实现代码。
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>7.4.0</version>
<executions>
<execution>
<id>portal-api</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>
${project.parent.basedir}/openapi/model.yaml</inputSpec>
<generatorName>jaxrs-cxf</generatorName>
<generateSupportingFiles>true</generateSupportingFiles>
<configOptions>
<implFolder>src/main/java</implFolder>
<dateLibrary>java8</dateLibrary>
<sourceFolder>src/gen/java</sourceFolder>
<useGenericResponse>true</useGenericResponse>
<useLoggingFeature>true</useLoggingFeature>
<addConsumesProducesJson>true</addConsumesProducesJson>
<useAnnotatedBasePath>true</useAnnotatedBasePath>
</configOptions>
<output>${project.build.directory}</output>
<apiPackage>portal.menu.rest.api</apiPackage>
<modelPackage>portal.menu.rest.api.model</modelPackage>
<invokerPackage>portal.menu.rest.impl</invokerPackage>
<verbose>false</verbose>
<ignoreFileOverride>${project.basedir}/.openapi-generator-ignore</ignoreFileOverride>
</configuration>
</execution>
</executions>
</plugin>
控制台输出:
[INFO] Processing operation getAllApplications
[INFO] writing file C:\Users\paul\eclipse-workspace\portal.menu.parent\portal.menu.rest\target\src\gen\java\portal\menu\rest\api\model\Application.java
[INFO] writing file C:\Users\paul\eclipse-workspace\portal.menu.parent\portal.menu.rest\target\src\main\java\portal\menu\rest\api\impl\ApplicationApiServiceImpl.java
[INFO] writing file C:\Users\paul\eclipse-workspace\portal.menu.parent\portal.menu.rest\target\src\gen\java\portal\menu\rest\api\ApplicationApi.java
[INFO] Skipped C:\Users\paul\eclipse-workspace\portal.menu.parent\portal.menu.rest\target\src\test\java\portal\menu\rest\api\ApplicationApiTest.java (Test files never overwrite an existing file of the same name.)
[INFO] Skipping generation of Webhooks.
[INFO] writing file C:\Users\paul\eclipse-workspace\portal.menu.parent\portal.menu.rest\target\pom.xml
[INFO] writing file C:\Users\paul\eclipse-workspace\portal.menu.parent\portal.menu.rest\target\.openapi-generator-ignore
[INFO] Skipped C:\Users\paul\eclipse-workspace\portal.menu.parent\portal.menu.rest\target\.openapi-generator-ignore (Skipped by supportingFiles options supplied by user.)
[INFO] writing file C:\Users\paul\eclipse-workspace\portal.menu.parent\portal.menu.rest\target\.openapi-generator\VERSION
[INFO] writing file C:\Users\paul\eclipse-workspace\portal.menu.parent\portal.menu.rest\target\.openapi-generator\FILES
我希望在
src
部分生成示例实现类,并在项目根目录中创建 ignore
,以便实现存根仅创建一次。
我做错了什么吗?难道是我记错了?该功能被删除了吗?
嗨我最近也用过类似的东西。我从头顶观察到的唯一区别是我使用了 jaxrs-spec