chen888的gravatar头像
chen888 2017-09-11 16:18:14

Spring MVC整合Swagger2的api文档实例

准备工作:jkd1.8、Tomcat7.0、eclipse、mysql数据库、maven环境

集成后的效果图:

Spring MVC整合Swagger2的api文档实例

spring MVC 集成Swagger2 的主要配置:

spring-mvc.xml下添加:

<!-- Swagger集合 -->
    <mvc:resources location="classpath:/META-INF/resources/" mapping="swagger-ui.html" />
    <mvc:resources location="classpath:/META-INF/resources/webjars/" mapping="/webjars/**" />

SwaggerConfig类:

Swagger2自定义配置:

@Configuration

@EnableWebMvc // 支持springmvc
@EnableSwagger2
@Component
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
            .apis(RequestHandlerSelectors.basePackage("com.chen.controller"))
            // 扫描所有有注解的api
            .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)).paths(PathSelectors.any()).build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("RESTful APIs").description("Spring+MVC集合Swagger2的API。")
            .termsOfServiceUrl("http://localhost:8080").version("1.0.0").build();
    }
}

效果图:

Spring MVC整合Swagger2的api文档实例

最原始或者最简单的配置:

@Configuration
@EnableWebMvc
@EnableSwagger2
@ComponentScan(basePackages ={"com.chen.controller"})
public class SwaggerConfig {

  /**
   * Every Docket bean is picked up by the swagger-mvc framework - allowing for multiple
   * swagger groups i.e. same code base multiple swagger resource listings.
   */
  @Bean
  public Docket customDocket() {
      return new Docket(DocumentationType.SWAGGER_2);
  }
  
}

Spring MVC整合Swagger2的api文档实例

 

项目结构:

Spring MVC整合Swagger2的api文档实例

 

引用的jar包

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

Swagger2的注解自己上官网查。

 

搭建好运行环境,下载项目是可以直接运行的。

运行起来的访问路径是:

http://localhost:8080/information/swagger-ui.html#/

http://localhost:Tomcat端口/项目名称/swagger-ui.html#/

效果图如上面所展示。


打赏

已有4人打赏

wewelwell的gravatar头像 最代码官方的gravatar头像 最代码客服的gravatar头像 已注销用户的gravatar头像

文件名:information.zip,文件大小:37.514K 下载
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友