简体   繁体   中英

swagger maven plugin documentation is not generated

I am trying to generate swagger documentation using Swagger maven plugin

But nothing is created, this is plugin in details I entered:

<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>

It didn't create any documentation. Then I tried kongchen swagger maven plugin

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:

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

Still no documentation is generated. Where did I do wrong? Please help me. Thanks.

Maven Dependency::

<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>

Annotate configuration class with and add below code in conf class.

@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 {
}

After that hit below url in browser: http://localhost:ip/ApplicationName/swagger-ui.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM