07 Spring Boot整合 Swagger2
程序员文章站
2022-07-02 20:57:23
...
1. swagger简介
swagger是一个流行的API开发框架,这个框架以“开放API声明”(OpenAPI Specification,OAS)为基础, 对整个API的开发周期都提供了相应的解决方案,是一个非常庞大的项目(包括设计、编码和测试,几乎支持所有语言)。
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。 总体目标是使客户端和文件系统作为服务器以同样的速度来更新。 文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。
2. Swagger2和swagger的区别
springfox 的官方给出了介绍:
总结下来就是:
-
Swagger
是一种规范。 -
springfox-swagger
是基于 Spring 生态系统的该规范的实现。 -
springfox-swagger-ui
是对 swagger-ui 的封装,使得其可以使用 Spring 的服务。
3. Spring Boot整合 Swagger2
步骤1:引入Swagger2的依赖,帮助我们自动生成这个json文件。
<!-- 引入Swagger2的依赖,帮助我们自动生成这个json文件 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
步骤2:编写Swagger2的配置类
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.cui.springboot01"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Spring Boot中使用Swagger2构建RESTful API")
.description("rest api文档构建利器")
//.termsOfServiceUrl()
.contact(new Contact("cuiyonghua","","aaa@qq.com"))
.version("1.0")
.build();
}
}
步骤3:编写接口
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "Hello World!!!";
}
}
步骤4:测试
基本配置已经能满足一个生成API文档的基本要求了,启动项目,访问:http://localhost/swagger-ui.html 会看到如下界面:
至此,Spring Boot整合 Swagger2 完毕。
推荐阅读
-
spring boot整合mybatis+mybatis-plus的示例代码
-
Spring Boot 2.X整合Spring-cache(让你的网站速度飞起来)
-
Spring Boot入门系列八(SpringBoot 整合Mybatis)
-
Spring Boot整合Spring Security的示例代码
-
Spring Boot2.X整合消息中间件RabbitMQ原理简浅探析
-
Spring Boot → 07:错误处理机制
-
Spring Boot认证:整合Jwt
-
Spring Boot 2整合Redis做缓存
-
详解spring boot jpa整合QueryDSL来简化复杂操作
-
spring boot整合Cucumber(BDD)的方法