没有合适的资源?快使用搜索试试~ 我知道了~
首页Spring Boot集成Swagger使用指南.pdf
资源详情
资源评论
资源推荐
Spring Boot 集成 Swagger 指南
1 简介
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化
RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务
器以同样的速度来更新。
Swagger 的目标是为 REST APIs 定义一个标准的,与语言无关的的接
口,使人和计算机在看不到源码或者不能通过网络流量监测的情况下
能发现和理解各种服务的功能。当服务通过 Swagger 定义,消费者就
能与远程的服务互动通过少量的实现逻辑。
1.1 swagger 组成
Swagger 的基础框架如下:
1.1.1 Swagger-ui
一个无依赖的 HTML、JS 和 CSS 集合,可以为 Swagger 兼容 API 动态
生成优雅文档
1.1.2 swagger-tool
提供各种与 Swagger 进行集成和交互的工具。例如模式验证,Swagger
1.2 文档转换成 Swagger 2.0 文档等功能
1.1.3 swagger-core
用于 Java/Scala 的 Swagger 实现。
1.1.4 swagger-js
用于 Java/Script 的 Swagger 实现
1.1.5 swagger-node-express
Swagger 模块,用于 node.js 的 Express web 应用框架
1.1.6 swagger-codegen
一个模板驱动引擎,通过分析用户 Swagger 资源声明以各种语言生成
客户端代码
1.2 Swagger 作用
接口文档在线自动生成
功能测试
Swagger 可以充当前后端交流的重要桥梁,方便快捷,很实用。
提供 API 在线测试功能
2 导入依赖
在 Spring Boot 中引入 swagger,需要在 pom.xml 文件中引入相应的依
赖。
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.5.0</version>
</dependency>
<!-- config-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.5.0</version>
</dependency>
然后通过 Maven import 相应的 jar 包依赖即可完成配置。过程比较简
单,不再赘述。
3 演示代码
为了演示 swagger 的使用,笔者使用 IDEA 建立了一个 Spring Boot 项
目,在代码中引入了相关的 swagger 依赖,通过代码演示 swagger 的
使用效果。请在有网的条件下学习该项目,因为需要通过 maven 下载
一些基础的依赖包,这样项目才可以正常的运行。项目整体结构如下:
3.1 pom 文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>swagger</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.31</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.5.0</version>
</dependency>
<!-- swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.5.0</version>
</dependency>
</dependencies>
</project>
pom 文件中比较干净,除了需要的 spring-boot 外,仅仅引用了阿里
巴巴的 fastjson 包,另外的两个 io.springfox 则是为使用 swagger 而导
入的依赖。
3.2 config 包创建 swagger 配置类
在使用 swagger 时,应该首先提供一个 Swagger 配置类,来阐明
swagger 的基本配置。在配置类中可以包含该套 API 的说明,包含作
者、简介、版本。在该项目中使用的配置类位于 config 包下,具体代
码如下:
package com.example.swagger.config;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
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;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket swaggerSpringMvcPlugin() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiO
peration.class))
.build();
}
剩余28页未读,继续阅读
思影影思
- 粉丝: 670
- 资源: 135
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0