欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 的官方给出了介绍:
07 Spring Boot整合 Swagger2
总结下来就是:

  1. Swagger 是一种规范。
  2. springfox-swagger 是基于 Spring 生态系统的该规范的实现。
  3. 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 会看到如下界面:
07 Spring Boot整合 Swagger2

至此,Spring Boot整合 Swagger2 完毕。

相关标签: springboot