当前位置:   article > 正文

【SpringBoot】knife4j接口文档UI搭建_knife4j-spring-ui

knife4j-spring-ui

注意:Knife4j 与 Swagger2 冲突

  1. <!-- swagger2 依赖配置-->
  2. <!-- <dependency>-->
  3. <!-- <groupId>io.springfox</groupId>-->
  4. <!-- <artifactId>springfox-swagger2</artifactId>-->
  5. <!-- <version>2.8.0</version>-->
  6. <!-- </dependency>-->
  7. <!-- <dependency>-->
  8. <!-- <groupId>io.springfox</groupId>-->
  9. <!-- <artifactId>springfox-swagger-ui</artifactId>-->
  10. <!-- <version>2.8.0</version>-->
  11. <!-- </dependency>-->
  12. <!-- Knife4j 依赖配置-->
  13. <dependency>
  14. <groupId>com.github.xiaoymin</groupId>
  15. <artifactId>knife4j-spring-boot-starter</artifactId>
  16. <version>2.0.7</version>
  17. </dependency>

1.在maven项目的pom.xml中引入Knife4j的依赖包

  1. <!-- Knife4j 依赖配置-->
  2. <dependency>
  3. <groupId>com.github.xiaoymin</groupId>
  4. <artifactId>knife4j-spring-boot-starter</artifactId>
  5. <version>2.0.7</version>
  6. </dependency>

2.创建Swagger配置依赖

按需求填写相关信息

  1. 2.0.6及以上版本,使用@EnableSwagger2WebMvc注解开启,而2.0.6之前版本是使用@EnableSwagger2注解,和swagger-bootstrap-ui是一样的;

如果不想编写配置类也可以,将@EnableSwagger2WebMvc标注在启动类上即可,就完成入门级别的整合

//这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
这里要填写自己的 工程路径

  1. /**
  2. * @author Gong XiuYi
  3. * @date 2022/2/23 9:56
  4. **/
  5. @Configuration
  6. @EnableSwagger2WebMvc
  7. public class Knife4jConfig {
  8. @Bean(value = "defaultApi2")
  9. public Docket defaultApi2() {
  10. Docket docket=new Docket(DocumentationType.SWAGGER_2)
  11. .apiInfo(new ApiInfoBuilder()
  12. .title("swagger-bootstrap-ui-demo RESTful APIs")
  13. .description("# swagger-bootstrap-ui-demo RESTful APIs")
  14. .termsOfServiceUrl("http://www.xx.com/")
  15. .contact("xx@qq.com")
  16. .version("1.0")
  17. .build())
  18. //分组名称
  19. .groupName("2.X版本")
  20. .select()
  21. //这里指定Controller扫描包路径
  22. .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
  23. .paths(PathSelectors.any())
  24. .build();
  25. return docket;
  26. }
  27. }

3.在 RESTful 基础上添加 以下两个注释

@Api(tags = {"用户接口"})  

@ApiOperation(value="查询", notes="根据User对象创建用户")

  1. /**
  2. * @author Gong XiuYi
  3. * @date 2022/2/23 8:42
  4. **/
  5. @Api(tags = {"用户接口"})
  6. @RestController
  7. @RequestMapping("/RESTful")
  8. public class RestfulController {
  9. @Resource
  10. private BookRepository bookRepository;
  11. @ApiOperation(value="查询", notes="根据User对象创建用户")
  12. @GetMapping("/book/get/{userId}")
  13. public JsonResult getBook(@PathVariable String userId){
  14. Book book = new Book();
  15. book.setPrice(200F);
  16. book.setId(10L);
  17. book.setName(userId);
  18. bookRepository.save(book);
  19. return JsonResult.ok(bookRepository.findAll());
  20. }

此时,启动Spring Boot工程,在浏览器中访问:http://localhost:端口/doc.html

报错

报错: Failed to start bean ‘documentationPluginsBootstrapper‘ 问题处理

2.6.0开始使用基于PathPatternParser的路径匹配,而Springfox版本一直没有更新还是使用的AntPathMatcher导致了这个问题,要处理问题也很简单,修改yaml文件,将SpringBoot路匹配模式修改为AntPathMatcher就可以了,

配置如下:spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER 

mvc:
  pathmatch:
    matching-strategy: ANT_PATH_MATCHER

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

闽ICP备14008679号