swagger2+SpringMVC

阅读更多

一、pom.xml依赖包

 

  
	  
            io.springfox  
            springfox-swagger2  
            2.4.0  
          
          
            io.springfox  
            springfox-swagger-ui  
            2.4.0  
         
	  
          
            com.fasterxml.jackson.core  
            jackson-core  
            2.6.5  
          
          
            com.fasterxml.jackson.core  
            jackson-databind  
            2.6.5  
          
          
            com.fasterxml.jackson.core  
            jackson-annotations  
            2.6.5  
        

    springfox又要引用很多包,注意包冲突。

    比如我遇到com.google.common.collect.Multimaps.asMap类找不到,但实际是有的,就因为之前引用的guava包版本冲突导致

二、在Spring mvc配置文件中声明SWAGGER配置bean

 


  

 三、配置控制器

 

 四、配置config

 

 

package com.santbbd.swagger;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;

import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@EnableWebMvc
@EnableSwagger2
@ComponentScan(basePackages = {"ccom.api.controller"})  
@Configuration
public class RestApiConfig extends WebMvcConfigurationSupport{
	@Bean  
    public Docket createRestApi() {  
        return new Docket(DocumentationType.SWAGGER_2)  
                .apiInfo(apiInfo())  
                .select()  
                .apis(RequestHandlerSelectors.basePackage("com.api.controller"))  
                .paths(PathSelectors.any())  
                .build();  
    }  
  
    private ApiInfo apiInfo() {  
        return new ApiInfoBuilder()  
                .title("。。。。。API")  
                .termsOfServiceUrl("http://www.xxx.com")  
                .contact(new Contact("xcc", "http://xxx.cn", "[email protected]"))  
                .version("1.0")  
                .build();  
    }
}

 五、添加文档注释

 

http://swagger.io/specification/

注解解释

 

六、访问http://127.0.0.1:8080/项目名/swagger-ui.html

 

 

 

 

 

你可能感兴趣的:(swagger)