chen888的gravatar头像
chen8882017-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#/

效果图如上面所展示。


打赏

已有3人打赏

最代码官方的gravatar头像最代码客服的gravatar头像最代码伊成的gravatar头像

文件名:information.zip,文件大小:37.514K下载
最代码最近下载分享源代码列表最近下载
renjunyou2月11日
暂无贡献等级
xyxiao_132月2日
暂无贡献等级
dachoumomo1月29日
暂无贡献等级
aihui5231月5日
最代码贡献等级说明
5723987412017年12月30日
暂无贡献等级
jingangbuhuan2017年12月20日
暂无贡献等级
你力哥啊2017年12月17日
暂无贡献等级
myshare1232017年12月9日
暂无贡献等级
飞猫无情2017年12月6日
最代码贡献等级说明
pantian92017年12月4日
最代码贡献等级说明
最代码最近浏览分享源代码列表最近浏览
renjunyou2月11日
暂无贡献等级
ctfcm19842月9日
暂无贡献等级
IODBUGG2月5日
暂无贡献等级
xyxiao_132月2日
暂无贡献等级
huwl199112091月31日
暂无贡献等级
dachoumomo1月29日
暂无贡献等级
xiaoqi21月26日
暂无贡献等级
woniu1681月23日
暂无贡献等级
月如钩1月21日
暂无贡献等级
每一天1月11日
最代码贡献等级说明
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友