专栏名称: hryou0922
目录
相关文章推荐
南宁融媒  ·  最高省1.5万元!广西家装厨卫“焕新”补贴来了 ·  4 小时前  
南宁融媒  ·  最高省1.5万元!广西家装厨卫“焕新”补贴来了 ·  4 小时前  
始室  ·  首发 . Miriam Barrio ... ·  11 小时前  
始室  ·  首发 . Miriam Barrio ... ·  11 小时前  
疯狂区块链  ·  人就应该被机器替代 ·  昨天  
51好读  ›  专栏  ›  hryou0922

Spring Boot系列十九 Spring boot集成 swagger

hryou0922  · 掘金  ·  · 2018-06-08 02:12

正文

Spring Boot系列十九 Spring boot集成 swagger

Swagger简述

Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件 Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步

Spring Boot集成Swagger

本文涉及的工程 : swagger

pom.xml swagger需要引入如下的jar

<!--  引入swagger包 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.2.2</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.2.2</version>
</dependency>

@EnableSwagger2 使用@EnableSwagger2注解在Control类上就可以swagger的功能

@RestController
@EnableSwagger2 // 启动swagger注解
// api-value:定义名称,如果没有定义,则默认显示类名
@Api(value = "Swagger Test Control", description = "演示Swagger用法的Control类", tags = "Swagger Test Control Tag")
public class SwaggerTestCtl {
..
}

执行启动类 执行启动类,访问如下连接 http://127.0.0.1:8080/swagger-ui.html#/ 就可以进入swagger页面,进行接口测试,界面如下:

这里写图片描述

ApiInfo类

我们创建ApiInfo实例,我们为swagger配置更多的接口说明

@Bean
public Docket api() {
	return new Docket(DocumentationType.SWAGGER_2)
		.apiInfo(getApiInfo())
		// .pathMapping("/")// base,最终调用接口后会和paths拼接在一起
		.select()
		// .paths(Predicates.or(PathSelectors.regex("/api/.*")))//过滤的接口
		.apis(RequestHandlerSelectors.basePackage("com.hry.swagger.ctl")) //过滤的接口
		.paths(PathSelectors.any())
		.build();
}

private ApiInfo getApiInfo() {
	// 定义联系人信息
	Contact contact = new Contact("hryou0922","https://github.com/hryou0922", "[email protected]");
	return new ApiInfoBuilder()
		.title("演示 Swagger 的用法") // 标题
		.description("演示Swagger中各种注解的用法") // 描述信息
		.version("1.1.2") // //版本
		.license("Apache 2.0")
		.licenseUrl("http://www.apache.org/licenses/LICENSE-2.0")
		.contact(contact)
		.build();
}

重启服务,界面如下:







请到「今天看啥」查看全文