java集成Swagger的步骤详解

本篇文章主要介绍了SpringMVC集成Swagger实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

此前写过一个关于SpringBoot集成Swagger的帖子,因为有的项目是SpringMVC的,所以也简单整理了一下,基本一致。

本例使用的是spring 4.1.6版本

1、添加POM依赖

  <!-- Jackson -->  <dependency>   <groupId>com.fasterxml.jackson.core</groupId>   <artifactId>jackson-core</artifactId>   <version>2.5.3</version>  </dependency>  <dependency>   <groupId>com.fasterxml.jackson.core</groupId>   <artifactId>jackson-annotations</artifactId>   <version>2.5.3</version>  </dependency>  <dependency>   <groupId>com.fasterxml.jackson.core</groupId>   <artifactId>jackson-databind</artifactId>   <version>2.5.3</version>  </dependency>  <!-- Swagger -->  <dependency>   <groupId>io.springfox</groupId>   <artifactId>springfox-swagger2</artifactId>   <version>2.6.1</version>  </dependency>  <dependency>   <groupId>io.springfox</groupId>   <artifactId>springfox-swagger-ui</artifactId>   <version>2.6.1</version>  </dependency>

2、添加SwaggerConfig.java类

package com.shanhy.demo.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.bind.annotation.RestController;import com.google.common.base.Predicate;import springfox.documentation.RequestHandler;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.service.ApiInfo;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;@Configuration // 该注解就是告诉Spring这个是一个配置文件类,这里配置的Bean要交给Spring去管理。这个就是用来取代Beans.xml这种文件的。@EnableSwagger2 // 启用 Swaggerpublic class SwaggerConfig { @Bean public Docket createRestApi() {  Predicate<RequestHandler> predicate = new Predicate<RequestHandler>() {   @Override   public boolean apply(RequestHandler input) {    Class<?> declaringClass = input.declaringClass();    // if (declaringClass == BasicErrorController.class)// 排除    // return false;    if (declaringClass.isAnnotationPresent(RestController.class)) // 被注解的类     return true;    if (input.isAnnotatedWith(ResponseBody.class)) // 被注解的方法     return true;    return false;   }  };  return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())    // .genericModelSubstitutes(DeferredResult.class)    // .genericModelSubstitutes(ResponseEntity.class)    .useDefaultResponseMessages(false)    // .forCodeGeneration(false)    .select().apis(predicate)    // .paths(PathSelectors.any())//过滤的接口    .build(); } private ApiInfo apiInfo() {  return new ApiInfoBuilder().title("接口服务")// 大标题    .version("1.0")// 版本    .build(); }}

3、配置文件添加

<?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd  http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd   http://www.springframework.org/schema/mvc    http://www.springframework.org/schema/mvc/spring-mvc.xsd    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 这里省略了其他原来的配置内容 --> ...... ...... ...... ...... <mvc:default-servlet-handler /></beans:beans>

4、测试Controller方法

@Controllerpublic class HomeController { @RequestMapping(value = "/test", method = RequestMethod.GET) @ResponseBody public String test(Locale locale, Model model) {  return "test"; }}

5、启动服务访问查看效果

访问地址:localhost:8188/{工程contextPath}/swagger-ui.html

她是应该难过的往回走,还是蹲下来哭泣?

java集成Swagger的步骤详解

相关文章:

你感兴趣的文章:

标签云: