java - swagger maven 插件文档未生成

标签 java maven swagger swagger-maven-plugin

我正在尝试使用 Swagger maven plugin 生成 swagger 文档

但没有创建任何内容,这是我输入的详细信息插件:

<plugin>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>2.2.2-SNAPSHOT</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>/data/AMEE/ame/api.yaml</inputSpec>
                <language>java</language>
                <configOptions>
                   <sourceFolder>/data/AMEE/ame/gen</sourceFolder>
                </configOptions>
            </configuration>
        </execution>
    </executions>
</plugin>

它没有创建任何文档。然后我尝试了kongchen swagger maven plugin

插件:

<plugin>
    <groupId>com.github.kongchen</groupId>
    <artifactId>swagger-maven-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>

        <skipSwaggerGeneration>false</skipSwaggerGeneration>
        <apiSources>
            <apiSource>
                <springmvc>false</springmvc>
                <locations>
                    <location>com.aepona.monatization.api.rest</location>
                    <location>com.aepona.monatization.inputprocessing.api.rest</location>
                    <location>com.aepona.monatization.reporting.api.rest</location>
                </locations>
                <schemes>
                    <scheme>http</scheme>
                    <scheme>https</scheme>
                </schemes>
                <host>localhost:8080</host>
                <basePath>/api</basePath>
                <descriptionFile>/data/zzzz/descriptionFile</descriptionFile>
                <info>
                    <title>Acccelerite Monatization Engine</title>
                    <version>1.0.0</version>
                    <description>DESCRIPTION</description>
                    <termsOfService>http://terms-of-services.url</termsOfService>
                    <license>
                        <url>http://url-to-license.com</url>
                        <name>LICENSE</name>
                    </license>
                </info>
                <outputPath>/data/zzzz/static</outputPath>
                <swaggerDirectory>/data/zzzz/swaggerFile</swaggerDirectory>
                <attachSwaggerArtifact>true</attachSwaggerArtifact>
            </apiSource>
        </apiSources>
    </configuration>
    <executions>
        <execution>
            <phase>compile</phase>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
</plugin>

依赖性:

<dependency>
    <groupId>com.github.kongchen</groupId>
    <artifactId>swagger-maven-plugin</artifactId>
    <version>3.0.0</version>
</dependency>

仍然没有生成任何文档。我哪里做错了?请帮我。谢谢。

最佳答案

Maven 依赖关系::

<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.4.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.4.0</version>
        </dependency>

使用注释配置类并在conf类中添加以下代码。

@Configuration
@EnableWebMvc
@EnableSwagger2


 @Bean
    public Docket api() { 
        return new Docket(DocumentationType.SWAGGER_2)  .apiInfo(apiInfo()).directModelSubstitute(LocalDate.class, String.class).genericModelSubstitutes(ResponseEntity.class)
                .useDefaultResponseMessages(false)
          .select()           
          .apis(RequestHandlerSelectors.any())              
          .paths(PathSelectors.any())                        
          .build();      

    }
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html")
          .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
          .addResourceLocations("classpath:/META-INF/resources/webjars/");
    }
    @SuppressWarnings("deprecation")
    private ApiInfo apiInfo() {
        ApiInfo apiInfo = new ApiInfo(
          " REST API",
          "XXX Rest API for XXX authentication and Loan creation.",
          "Mer V1.1",
          "Terms of service",
          "ER",
          "License of API",
          "");
        return apiInfo;
    }

Controller ::

@RestController
@Api("/resource")
public class Controller {
}

之后在浏览器中点击以下网址: <强> http://localhost:ip/ApplicationName/swagger-ui.html

关于java - swagger maven 插件文档未生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43061496/

相关文章:

csv - 如何在 swagger/yaml 文档上正确记录文本/csv 响应?

asp.net - 在 Angular 中使用 Swagger

java - 用 Java 读取 XLSX 文件

javascript - 通过运行 java selenium 测试来覆盖 JS 组件的代码覆盖率

testing - 从 maven zip 程序集运行测试

java - 获取 WebService 端口时的 NPE

java - 以 UUID 作为参数的 Hibernate 命名查询

java - 从数组循环创建动态按钮时,代号一给出 java NullPointerException 错误

git - 如何在 Maven 中使用 git commit id 作为 docker 镜像标签?

swagger - 无法在 l5-swagger 中生成 API 文档