Springboot配置Swagger的实现示例
投稿:zx
Swagger 是什么
Swagger 是一个用于构建、文档和调用 RESTful Web 服务的强大工具。它提供了以下几方面的好处:
自动生成 API 文档: Swagger 可以自动生成 API 文档,包括接口的描述、输入参数、输出参数、请求示例、响应示例等信息。这使得开发人员、测试人员和客户端开发人员能够轻松地理解和使用 API。
可视化交互界面: Swagger 生成的文档通常包括一个可视化的交互界面,允许用户测试 API 端点而无需编写任何代码。这简化了开发和测试的过程。
标准化接口设计: Swagger 鼓励开发团队使用标准的注解或规范来定义 API,这样可以更容易地创建一致性的 API 设计。这对于多个开发团队协同工作的大型项目特别有用。
客户端代码生成: Swagger 可以生成客户端代码,使客户端开发人员能够使用 API 而无需手动编写 HTTP 请求和数据模型的代码。这减少了代码重复和错误。
减少文档维护成本: Swagger 自动生成的文档与实际代码同步,因此当 API 发生更改时,文档也会相应更新,减少了手动维护文档的工作。
安全集成: Swagger 可以与身份验证和授权机制集成,帮助开发人员更轻松地确保 API 的安全性。
代码注释: 使用 Swagger 注解,可以更清晰地记录 API 的用途、参数、响应等信息。这有助于提高代码的可维护性。
Swagger配置springboot
代码展示
添加 Maven 依赖:首先,在你的 Spring Boot 项目的 pom.xml 文件中,添加 Swagger2 依赖。以下是一个示例:
<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.6</version> <!-- 使用正确的版本号 --> </parent> <groupId>com.example</groupId> <artifactId>swaggerdemo01</artifactId> <version>0.0.1-SNAPSHOT</version> <name>swaggerdemo01</name> <description>Demo project for Spring Boot</description> <properties> <java.version>8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <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> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.vaadin.external.google</groupId> <artifactId>android-json</artifactId> <version>0.0.20131108.vaadin1</version> <scope>compile</scope> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>2.0.32</version> <scope>compile</scope> </dependency> </dependencies> </project>
创建 Swagger 配置类:在你的项目中创建一个配置类,通常命名为 SwaggerConfig,并添加 @Configuration 注解。
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.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 createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .pathMapping("/") .select() .apis(RequestHandlerSelectors.basePackage("com.example.swaggerdemo.controller")) .paths(PathSelectors.any()) .build().apiInfo(new ApiInfoBuilder() .title("雷达数据修正算法相关接口") .description("雷达数据修正算法逻辑展示") .version("9.0") .contact(new Contact("z s","blog.git.net"," ")) .license("The Apache License") .licenseUrl("http://www.s t.com/") .build()); } }
启用 Swagger:在你的 Spring Boot 应用程序主类上添加 @EnableSwagger2 注解。
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import springfox.documentation.swagger2.annotations.EnableSwagger2; @SpringBootApplication @EnableSwagger2 public class Swaggerdemo01Application { public static void main(String[] args) { SpringApplication.run(Swaggerdemo01Application.class, args); } }
编写 API 文档注释:在你的控制器类和方法上使用 Swagger 注解编写接口文档的注释,包括参数、响应等信息。示例:
import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController @Api(tags = "示例控制器") public class AccountController { @GetMapping("/hello") @ApiOperation("获取欢迎消息") public String hello() { return "Hello, World!"; } }
访问 Swagger UI:启动你的应用程序后,你可以通过浏览器访问 Swagger UI,通常在 http://localhost:8080/swagger-ui.html。
这些步骤将帮助你在 Spring Boot 项目中整合 Swagger,以便生成和展示 API 文档。你可以根据你的项目需求和喜好进行更多的配置和定制。
总结
总之,Swagger 是一种提高 API 开发和维护效率的工具,它使开发者能够更轻松地构建、测试和文档化 API,并提供了可视化的交互界面,以改进开发流程和加速 API 的采用。
到此这篇关于Springboot配置Swagger的实现示例的文章就介绍到这了,更多相关springboot配置swagger内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!