提示信息

Spring Boot 进阶:在 Spring Boot 中使用 Swagger 3.0 的详解

欧美疯 已关注

在 Spring Boot 项目中集成 Swagger 3.0(也称为 OpenAPI 3.0)可以极大地方便我们生成 API 文档,并提供交互式的 API 接口测试。下面是一个如何在 Spring Boot 中配置和使用 Swagger 3.0 的详解步骤:

项目配置

  1. 添加依赖

    首先,在 pom.xml 文件中添加 Swagger 3 的依赖:

    1. <dependency>
    2. <groupId>org.springdoc</groupId>
    3. <artifactId>springdoc-openapi-ui</artifactId>
    4. <version>1.6.9</version> <!-- 检查最新版本 -->
    5. </dependency>

    如果使用 Gradle,添加以下内容到 build.gradle 文件:

    1. implementation 'org.springdoc:springdoc-openapi-ui:1.6.9'
  2. 创建 OpenAPI 配置类

    创建一个配置类来自定义 OpenAPI 的元数据:

    1. import io.swagger.v3.oas.models.OpenAPI;
    2. import io.swagger.v3.oas.models.info.Info;
    3. import org.springframework.context.annotation.Bean;
    4. import org.springframework.context.annotation.Configuration;
    5. @Configuration
    6. public class OpenAPIConfig {
    7. @Bean
    8. public OpenAPI customOpenAPI() {
    9. return new OpenAPI()
    10. .info(new Info()
    11. .title("My API Documentation")
    12. .version("1.0.0")
    13. .description("This is the API documentation for my Spring Boot application.")
    14. );
    15. }
    16. }
  3. 编写控制器

    在你的 Spring Boot 应用中,根据需要编写控制器,并使用 Swagger 的注解来描述接口。常用注解有 @Operation@Parameter@ApiResponse等:

    1. import org.springframework.web.bind.annotation.GetMapping;
    2. import org.springframework.web.bind.annotation.RequestParam;
    3. import org.springframework.web.bind.annotation.RestController;
    4. import io.swagger.v3.oas.annotations.Operation;
    5. import io.swagger.v3.oas.annotations.parameters.Parameter;
    6. import io.swagger.v3.oas.annotations.responses.ApiResponse;
    7. import io.swagger.v3.oas.annotations.responses.ApiResponses;
    8. @RestController
    9. public class ExampleController {
    10. @Operation(summary = "Greet the user")
    11. @ApiResponses(value = {
    12. @ApiResponse(responseCode = "200", description = "Successful greeting"),
    13. @ApiResponse(responseCode = "400", description = "Invalid user name supplied")
    14. })
    15. @GetMapping("/greet")
    16. public String greetUser(@Parameter(description = "Name of the user to greet") @RequestParam String name) {
    17. if (name == null || name.isEmpty()) {
    18. return "Name must not be empty";
    19. }
    20. return "Hello, " + name + "!";
    21. }
    22. }

启动项目并查看 Swagger UI

  1. 启动应用

    启动你的 Spring Boot 应用程序。

  2. 查看 API 文档

    在浏览器中打开以下 URL,查看生成的交互式 API 文档:

    1. http://localhost:8080/swagger-ui/index.html

    这里 8080 是你的应用运行的默认端口,如果你自定义了端口,请根据实际情况修改。

额外定制化

  • 限制访问

    可以通过 Spring Security 等方式限制 Swagger UI 的访问,只允许开发人员或特定用户组访问。

  • 修改基础路径

    如果你的应用有特定的上下文路径或外部路径映射,可以在 application.propertiesapplication.yml 中指定:

    1. springdoc.swagger-ui.path=/custom-path
  • 自定义 Swagger 页面

    Swagger UI 提供了高度的可定制性,可以通过更换主题或添加额外的元信息来调整页面。

通过这些步骤,你就可以在 Spring Boot 项目中使用 Swagger 3.0 来生成和管理 RESTful API 文档了。这样不仅提高了接口的易用性,也为开发人员之间以及开发与测试人员之间的沟通提供了便利。

    遇到难题? "AI大模型GPT4.0、GPT" 是你的私人解答专家! 点击按钮去提问......
欧美疯 关注 已关注

最近一次登录:2024-11-20 13:23:00   

暂时还没有签名,请关注我或评论我的文章
×
免费图表工具,画流程图、架构图