Spring MVC中快速集成swagger2

来源:互联网 发布:物流打印软件 编辑:程序博客网 时间:2024/06/04 17:43

1、maven依赖

        <dependency>   <groupId>io.springfox</groupId>   <artifactId>springfox-swagger-ui</artifactId>   <version>2.5.0</version></dependency><dependency>   <groupId>io.springfox</groupId>   <artifactId>springfox-swagger2</artifactId>   <version>2.5.0</version></dependency><!--jackson用于将springfox返回的文档对象转换成JSON字符串-->        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-annotations</artifactId>            <version>2.9.0</version>        </dependency>        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-databind</artifactId>            <version>2.9.0</version>        </dependency>        <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-core</artifactId>            <version>2.9.0</version>        </dependency>

2、spring mvc配置文件中的配置

<!-- swagger2配置设置使用注解的类所在的jar包,只加载controller类 -->  <context:component-scan base-package="dis.web.controller" /><bean class="dis.web.config.SwaggerConfig" />


3、在对应目录文件夹中新建文件SwaggerConfig.java



package dis.web.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.EnableWebMvc;import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;import springfox.documentation.builders.ApiInfoBuilder;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;import static springfox.documentation.builders.PathSelectors.regex;@Configuration@EnableWebMvc@EnableSwagger2public class SwaggerConfig extends WebMvcConfigurerAdapter {@Beanpublic Docket api() {Docket docket = new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage("dis.web.controller")).paths(regex("/api/.*")).build().apiInfo(apiInfo());return docket;}private ApiInfo apiInfo() {return new ApiInfoBuilder()        // 页面标题.title("dis.web测试API")// 创建人.contact(new Contact("test", null, "123@qq.com"))// 版本号.version("1.0")// 描述.description("dis.web测试平台接口").build();}@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}}


4、在该目录下新建文件HelloController.java



package dis.web.controller;import io.swagger.annotations.Api;import io.swagger.annotations.ApiOperation;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;@Api(description="用户反馈/建议")@Controllerpublic class HelloController {  @RequestMapping(value="/api/hello",method= RequestMethod.GET)  @ApiOperation(value="获取单个用户信息",produces="Application/json")  public @ResponseBody String test(){  return null;  }  }


配置完成后重启tomcat后在浏览器输入http://localhost:8080/dis.web/swagger-ui.html

效果如下即配置完成:





原创粉丝点击