SpringBoot集成swagger2.0

2019-12-18 16:04:25来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

SpringBoot集成swagger2.0

最近项目里要用到SpringBoot + swagger,查了其他小伙伴们的资料,或多或少有点问题,在此我再梳理一遍。

1、maven依赖

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.10.RELEASE</version>
<relativePath/>
</parent>

<dependencies>

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>


<dependency>
<groupId>com.ctrip.framework.apollo</groupId>
<artifactId>apollo-client</artifactId>
<version>1.4.0</version>
<exclusions>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.20</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>

<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.13</version>
</dependency>

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.8</version>
</dependency>


<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.10</version>
<exclusions>
<exclusion>
<artifactId>commons-codec</artifactId>
<groupId>commons-codec</groupId>
</exclusion>
</exclusions>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>

<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>


<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.4.0</version>
</dependency>

<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>

<!-- mock dependency -->
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<version>2.0.4</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>2.0.4</version>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
<version>1.3.2</version>
<scope>test</scope>
</dependency>
</dependencies>

2、配置swagger,让swagger加载起来

@Configuration
@EnableSwagger2
//配置在哪些环境启用swagger,好用。一般情况下在生产环境,用禁用swagger的。对应pom.xml中的 profiles配置

@Profile({"dev","fat","uat","pro"})
public class SwaggerConfig extends WebMvcConfigurationSupport{

@Bean
public Docket createRestApi () {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("xxxx")
.select()
.apis(RequestHandlerSelectors.basePackage("com.yunda.data.controller"))
.paths(PathSelectors.any())
.build().apiInfo(getApiInfo());
}

private ApiInfo getApiInfo(){
return new ApiInfoBuilder()
.title("dsync-dispatcher api")
.description("xxxx api")
.version("1.0.0")
.contact(new Contact("suyujun", "", "suyujun0131@yundasys.com"))
.build();
}


@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//这些配置要有,我遇到了如果不配置,swagger一直是 404的问题
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
// 解决 SWAGGER 404报错
registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}

3.springboot启动主类

@SpringBootApplication
@EnableApolloConfig
@EnableRabbit
@ImportResource
@MapperScan(basePackages = {"xxxx.xxxx.xxxx"})
public class DsyncDispatcherApplication extends WebMvcConfigurationSupport {
private static final Logger LOGGER = LoggerFactory.getLogger(DsyncDispatcherApplication.class);

public static void main(String[] args) {
ApplicationContext applicationContext = SpringApplication.run(DsyncDispatcherApplication.class, args);
ApplicationContextUtils.setApplicationContext(applicationContext);
}
}

4.看看效果吧

image


image

原文链接:https://www.cnblogs.com/gzhlove/p/12058142.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:springboot 打包jar 运行找资源文件

下一篇:【原创】005 | 搭上SpringBoot请求处理源码分析专车