自学内容网 自学内容网

【Spring Boot】swagger简介_springboot整合swagger

1、swagger简介

1.1定义

  • Swagger 2(也称为OpenAPI 2.0)或Swagger 3(也称为OpenAPI 3.0)是用于描述和定义RESTful API的规范和工具集。

1.2作用

  1. 自动生成API文档:通过扫描代码中的注解,Swagger可以自动生成详细的API文档,包括每个API的URL、请求方法、请求和响应参数、数据类型等。

  2. 提供测试界面:Swagger UI是一个嵌入式的Web应用程序,它提供了一个可交互的界面来测试API。开发者可以直接在Swagger UI中尝试API调用,查看请求和响应数据。

  3. 支持多种语言和框架:Swagger不仅支持Spring Boot,还支持许多其他的编程语言和框架,如Java、Python、Ruby、Node.js等。

1.3优点

  • 减少文档编写时间:通过自动生成API文档,可以减少手动编写文档的时间和努力。
  • 保持文档与代码同步:由于文档是基于代码中的注解生成的,因此当代码发生变化时,文档也会自动更新。
  • 提供交互式测试界面:Swagger UI提供了一个可交互的界面来测试API,这有助于开发者验证API的正确性和功能。
  • 支持多种客户端:Swagger不仅支持Web浏览器作为客户端,还支持其他类型的客户端,如命令行工具、Postman等。

2、springboot整合swagger

1、添加依赖

pom.xml文件中添加Swagger的依赖(这里以Swagger 2为例):

<dependency>  
    <groupId>io.springfox</groupId>  
    <artifactId>springfox-swagger2</artifactId>  
    <version>2.9.2</version>  
</dependency>  
<dependency>  
    <groupId>io.springfox</groupId>  
    <artifactId>springfox-swagger-ui</artifactId>  
    <version>2.9.2</version>  
</dependency>

2、配置Swagger

创建一个配置类来配置Swagger。例如,创建一个名为SwaggerConfig的类,并添加以下代码:

import org.springframework.context.annotation.Bean;  
import org.springframework.context.annotation.Configuration;  
import springfox.documentation.builders.ApiInfoBuilder;  
import springfox.documentation.builders.PathSelectors;  
import springfox.documentation.builders.RequestHandlerSelectors;  
import springfox.documentation.service.ApiInfo;  
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 api() {  
        return new Docket(DocumentationType.SWAGGER_2)  
                .select()  
                .apis(RequestHandlerSelectors.basePackage("com.example.yourapp.controller")) // 你的Controller所在的包  
                .paths(PathSelectors.any())  
                .build()  
                .apiInfo(apiInfo());  
    }  
  
    private ApiInfo apiInfo() {  
        return new ApiInfoBuilder()  
                .title("你的API文档标题")  
                .description("你的API文档描述")  
                .version("1.0")  
                .build();  
    }  
}

3、使用Swagger注解

在Controller和API方法上使用Swagger的注解来提供更多关于API的信息。例如:

import io.swagger.annotations.Api;  
import io.swagger.annotations.ApiOperation;  
import org.springframework.web.bind.annotation.GetMapping;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.RestController;  
  
@RestController  
@RequestMapping("/api/v1")  
@Api(tags = "用户相关API")  
public class UserController {  
  
    @GetMapping("/users")  
    @ApiOperation("获取所有用户")  
    public List<User> getAllUsers() {  
        // ... 你的代码 ...  
    }  
}

4、访问Swagger UI

  • 启动Spring Boot应用
  • 然后访问http://localhost:8080/swagger-ui.html(如果你的应用没有运行在8080端口,请替换为实际的端口号)

原文地址:https://blog.csdn.net/wosixiaokeai/article/details/140103764

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!