gpt4 book ai didi

java - Swagger Codegen,Maven 插件 : Restrict Server Generation

转载 作者:行者123 更新时间:2023-12-02 01:31:25 26 4
gpt4 key购买 nike

我想使用 swagger-codegen maven 插件为我的 API 生成 JAX-RS 服务器 stub ,但我想使用我自己的服务实现类,而不是生成的服务实现类。有没有办法生成除此类之外的所有内容?对于我的 API,该工具生成四个 api 类:ProfilesApi、ProfilesApiService、ProfilesApiServiceFactory 和 ProfilesApiServiceImpl。

我当前的maven配置:

                     <configuration>
<inputSpec>src/main/resources/Profile.json</inputSpec>
<language>jaxrs</language>
<configOptions>
<dateLibrary>java8</dateLibrary>
</configOptions>
<models>Profile,PageInformation,ProfileResult</models>
<modelPackage>com.myApp.profile-api-model</modelPackage>
<apiPackage>com.myApp.profile-api-webapp</apiPackage>
<library>jersey2</library>
<environmentVariables>
<!-- change default client library (here until plugin 2.1.5). Doesn't seem to work! -->
<library>jersey2</library>
<!-- generate all models -->
<models></models>
<!-- generate all APIs -->
<apis></apis>
<!-- generate just the supporting files that are Java source code (not project build files) -->
<supportingFiles>ApiException.java,ApiOriginFilter.java,ApiResponseMessage.java,JacksonJsonProvider.java,LocalDateProvider.java,LocalDateTimeProvider.java,NotFoundException.java,StringUtil.java,web.xml,ProfilesApi.java,ProfilesApiService.java,ProfilesApiServiceFactory.java</supportingFiles>
</environmentVariables>
</configuration>

最佳答案

执行此操作的正确方法是通过两个配置选项 <generateSupportingFiles>在配置和 <interfaceOnly><configOptions><generateSupportingFiles>不生成可执行入口点,pom.xml等等,而<interfaceOnly> flag 不生成服务的实现,只生成接口(interface)。这样你就可以拥有自己的可执行类来做其他事情,你自己的 pom.xml和您自己的服务实现,您可以使用 mvn clean package 多次重新生成 API 和模型。 。

我不确定 Jersey 模板是否检查 <interfaceOnly ,但 Spring Boot 和 CXF JAX-RS 模板可以。

在你的专家中 pom.xml ,你的<configuration>swagger-codegen-maven-plugin 的构建插件内需要看起来像这样:

<generateSupportingFiles>false</generateSupportingFiles>
<configOptions>
<interfaceOnly>true</interfaceOnly>
...
</configOptions>

不幸的是,这些配置选项没有很好的记录,你必须做大量的研究并在一些 github 问题上偶然发现它们。

关于java - Swagger Codegen,Maven 插件 : Restrict Server Generation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37257147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com