当前位置:   article > 正文

Spring Boot 2整合Knife4j自动生成API文档_springboot2 整合knife4j

springboot2 整合knife4j

Spring Boot 2整合Knife4j自动生成API文档教程

上一期介绍了springboot3进行使用Knife4j的教程,但是在实际的开发中,还是有很多的项目使用的是springboot2使用Knife4j,所以这期进行介绍springboot2如何的进行整合Knife4j.

介绍

在微服务架构和前后端分离的开发模式中,API文档的管理和维护变得尤为重要。Swagger是一个广泛使用的框架,用于生成、描述、调用和可视化RESTful Web服务。Knife4j作为Swagger的增强UI,提供了更优雅的界面和更丰富的功能。本教程将指导您如何在Spring Boot 2项目中整合Knife4j以自动生成API文档。

一、准备工作

确保您已经有一个Spring Boot 2项目。如果没有,可以通过Spring Initializr快速生成一个。

二、添加Knife4j依赖

  1. 打开项目的pom.xml文件。

  2. 添加Knife4j的依赖。根据搜索结果,您可能需要添加如下依赖:

  1. <dependency>
  2. <groupId>com.github.xiaoymingroupId>
  3. <artifactId>knife4j-spring-boot-starterartifactId>
  4. <version>3.0.2version>
  5. </dependency>

三、配置Swagger

创建一个Swagger配置类,通常命名为SwaggerConfig

  1. @Configuration
  2. @Slf4j
  3. public class SwaggerConfig {
  4. @Bean public Docket docket() {
  5. // 配置接口文档的基本信息
  6. ApiInfo apiInfo = new ApiInfoBuilder()
  7. .title("fus接口")
  8. .version("2.0")
  9. .description("fus个人接口")
  10. .build(); // 创建一个新的Docket实例,并指定使用Swagger 2标准来生成文档。
  11. Docket docket = new Docket(DocumentationType.SWAGGER_2)
  12. .apiInfo(apiInfo) // 指定api文档的基本信息
  13. .select() // 调用select方法开始配置哪些API会被Swagger文档化。 // 指定要生成Api文档的包
  14. .apis(RequestHandlerSelectors.basePackage("com.sky.controller"))
  15. // 选择所有路径进行文档化。PathSelectors.any()同样表示没有过滤条件,所有的HTTP路径都会被包含。
  16. .paths(PathSelectors.any()) // 所有的请求路径
  17. .build(); return docket; }
  18. /** * 设置静态资源映射 * @param registry */
  19. protected void addResourceHandlers(ResourceHandlerRegistry registry) {
  20. registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
  21. registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
  22. }
  23. }

注意:

  • apis: apis是用来选择哪些控制器(Controller)类会被包含在自动生成的Swagger文档中.

  • paths : paths是指HTTP请求的路径,它用来选择哪些具体的HTTP路径(URL模式)会被包含在Swagger文档中。

四、使用Swagger注解

在您的控制器和模型类中使用Swagger注解,例如:

实体类

  1. @Data
  2. @ApiModel(description = "用户登录时传递的数据模型")
  3. // api实体类说明
  4. public class UserLoginDTO implements Serializable {
  5. @ApiModelProperty("用户名")
  6. private String username;
  7. @ApiModelProperty("密码")
  8. private String password;
  9. }

实体类的进行展示的 Swagger models中。

Controller类

  1. import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation;
  2. @RestController
  3. @Api(tags = "用户管理")
  4. public class UserController {
  5. @GetMapping("/users")
  6. @ApiOperation(value = "获取用户列表", notes = "这里可以写获取用户列表的详细描述")
  7. public List<User> listUsers() {
  8. // ...
  9. }
  10. }

五、启动项目并访问文档

启动您的Spring Boot项目,然后在浏览器中访问Knife4j提供的API文档界面:

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

或者访问Knife4j的增强UI:

http://localhost:8080/doc.html

六、Knife4j的特点

  • 美观界面:Knife4j提供了比Swagger UI更美观的界面。

  • 功能丰富:除了基本的文档浏览和接口测试功能,Knife4j还支持文档管理,可以导出多种格式的API文档。

七、注意事项

  • Spring Boot版本:如果您的Spring Boot版本高于等于2.6,可能需要配置路径匹配策略,以避免启动错误。

  • 生产环境:在生产环境中,您可能需要配置Knife4j以屏蔽文档接口,以防止敏感信息泄露。

  • spring boot3 和使用springboot2使用的方式不同.

八、结语

通过上述步骤,您应该能够在Spring Boot 2项目中成功整合Knife4j,并自动生成API文档。Knife4j作为一个强大的文档管理工具,可以大大提高团队的协作效率和接口管理的便捷性。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/656283
推荐阅读
相关标签
  

闽ICP备14008679号