文档章节

SpringBoot整合swagger2

稻草鸟人
 稻草鸟人
发布于 2016/06/30 13:04
字数 693
阅读 2033
收藏 6

项目结构

一如我以前风格,首先我们看下项目结构,让我们大致了解下demo里面都有哪些类和配置(部分类和包被我擦掉了,因为和本文无关)

pom配置

这里主要的就是添加了swagger2的jar包,用过maven的都明白,不明白的先补maven相关知识

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <java.version>1.8</java.version>
    <springfox-swagger2.version>2.5.0</springfox-swagger2.version>
    <fastjson.version>1.2.12</fastjson.version>
</properties>

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

<dependencies>

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

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

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

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

    <!-- http://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>${springfox-swagger2.version}</version>
    </dependency>

    <!-- http://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>${springfox-swagger2.version}</version>
    </dependency>

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>${fastjson.version}</version>
    </dependency>

</dependencies>

SwaggerConfig

这个就不说了,看看名字其实就知道是啥意思了吧,但是我还是说一下吧,如果你要使用swagger2,那么你就需要创建这么一个类, 
类的名字无所谓,但是必须用EnableSwagger2这个注解来标注,且类里面有一个@Bean返回的实体类是Docket

@Configuration
@EnableSwagger2
@ComponentScan("com.boyi.example.api.rest")
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.boyi.example.api.rest"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        ApiInfo apiInfo = new ApiInfoBuilder().title("Spring Boot Sample REST APIs")
                .description("The APIs here demonstrate creating a service built with Spring Boot")
                .license("MIT")
                .licenseUrl("http://opensource.org/licenses/MIT")
                .contact(new Contact("稻草鸟人", "www.boyi.com", "75999267@qq.com"))
                .version("1.0")
                .build();

        return apiInfo;
    }
}

HomeController

项目中的其他配置

最早贴出来的项目结构中的文件,我们这里没有全部展示出来,因为基本上都是和一般的spring boot是一模一样的,这里就不贴一大推乱乱的代码了

访问swagger ui

根据我们项目的端口,我们在浏览器输入类似如下的地址: http://localhost:8080/swagger-ui.html 
这里我们可以展开,里面详细的记录了我们对外API所需的参数以及返回值,并且可以模拟HTTP请求

参考文档

【1】http://springfox.github.io/springfox/

本文基于署名-非商业性使用-相同方式共享 4.0许可协议发布,欢迎转载、使用、重新发布,但务必保留文章署名稻草鸟人(包含此订阅号二维码)

© 著作权归作者所有

稻草鸟人

稻草鸟人

粉丝 51
博文 12
码字总数 10204
作品 0
上海
后端工程师
私信 提问
SpringBootBucket 1.0.0 发布,SprintBoot 全家桶

Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。 本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通过“一...

一刀
2018/03/05
8.9K
17
SpringBoot集成swagger2

springboot-swagger2-demo 项目介绍 SpringBoot集成swagger2 使用说明 引入maven依赖 启用swagger2 在Controller上添加注释信息(非必须) 启动访问 swagger常用注解 案例 demo地址:https://...

晨猫
2018/10/04
215
0
Spring Boot 全家桶 - SpringBootBucket

Spring Boot 现在已经成为Java 开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。 本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通过“一...

一刀
2018/03/05
11.5K
8
SpringBootBucket 2.0.4 发布,代号“傲娇的小二晶”

SpringBootBucket 自从1.0.0版本发布后就有好多人喜欢,目前码云上面star数量接近1.2k。上个月还收到了红薯签名的1000 star奖杯,这个我自己也觉得很惊讶。 由于SpringBoot 1.x官方将终止维护...

一刀
2018/09/16
2.8K
4
生产环境下springboot中配置禁用swagger

一、序言 在生产环境下,我们需要关闭swagger配置,避免暴露接口的这种危险行为。 二、方法: 禁用方法1:使用注解@Profile({"dev","test"}) 表示在开发或测试环境开启,而在生产关闭。(推荐...

xiaomin0322
07/10
105
0

没有更多内容

加载失败,请刷新页面

加载更多

好程序员大数据教程Scala系列之样例类_Option_偏函数

  好程序员大数据教程Scala系列之样例类_Option_偏函数,在Scala中Option类型样例类用来表示可能存在或也可能不存在的值(Option的子类有Some和None)。Some包装了某个值,None表示没有值。 ...

好程序员官网
15分钟前
2
0
zk中ServerCnxnFactory连接管理工厂

作为ServerCnxn的工厂抽象类 属性 ZOOKEEPER_SERVER_CNXN_FACTORY zookeeper.serverCnxnFactory secure 在ServerCnxnFactory中SSL是否启用 sessionMap session管理配置中信息(sessionId,Ser......

writeademo
16分钟前
2
0
【代码审计01】几种常见的漏洞种类以及代码审计工具

前言 代码审计是在经过黑盒测试完毕,也就是检查应用的基本功能是否符合产品业务需求下进行的。需要有一定的编码基础以及对漏洞形成原理的基本认知,通过工具或者经验检测中代码中可能出现的...

北桥苏
17分钟前
3
0
重磅发布 | 全球首个云原生应用标准定义与架构模型 OAM 正式开源

作者: OAM 项目负责人 导读:2019 年 10 月 17 日,阿里巴巴合伙人、阿里云智能基础产品事业部总经理蒋江伟(花名:小邪)在 Qcon 上海重磅宣布,阿里云与微软联合推出开放应用模型 Open A...

阿里巴巴云原生
19分钟前
3
0
【进阶之定义函数】一个查询树结构数据的集合

1、基本定义 delimiter 自定义符号  -- 如果函数体只有一条语句, begin和end可以省略, 同时delimiter也可以省略create function 函数名(形参列表) returns 返回类型  -- 注意是retru...

卯金刀GG
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部