knife4j:比swagger更好的在线文档

文章目录

  • 前言
  • 一、集成knife4j
  • 二、配置knife4j
    • 1.新增配置文件
    • 2. yml配置
  • 总结


前言

之前说过集成swagger文档,当时用的是swagger,今天介绍一个跟它类似,但是比他的页面更加精美,功能更加强大的一个项目在线接口文档, knife4j—小刀


一、集成knife4j

  • 创建一个springboot项目
  • 引入对应版本的knife4j
 
            org.springframework.boot
            spring-boot-starter-web
        
        
            com.github.xiaoymin
            knife4j-openapi3-jakarta-spring-boot-starter
        

spring-boot.version 3.0.3
knife4j.version 4.0.0
其他版本也可以,可以自己试试

二、配置knife4j

1.新增配置文件

Swagger3Config.java

/**
 * 文档配置
 * swagger
 *
 * @author fulin
 */
@Configuration
public class Swagger3Config {

    /**
     * 根据 @Tag 上的排序,写入x-order
     *
     * @return the global open api customizer
     */
    @Bean
    public GlobalOpenApiCustomizer orderGlobalOpenApiCustomizer() {
        return openApi -> {
            if (openApi.getTags() != null) {
                openApi.getTags().forEach(tag -> {
                    Map<String, Object> map = new HashMap<>();
                    map.put("x-order", RandomUtil.randomInt(0, 100));
                    tag.setExtensions(map);
                });
            }
            if (openApi.getPaths() != null) {
                openApi.addExtension("x-test123", "333");
                openApi.getPaths().addExtension("x-abb", RandomUtil.randomInt(1, 100));
            }
        };
    }

    @Bean
    public OpenAPI customOpenApi() {
        return new OpenAPI()
            .info(new Info()
                .title("****")
                .version("v1.0")
                .description("API 文档")
            );
    }
}

2. yml配置

# springdoc-openapi 项目配置
springdoc:
  swagger-ui:
    path: /swagger-ui.html
    tags-sorter: alpha
    operations-sorter: alpha
  api-docs:
    path: /v3/api-docs
  group-configs:
    - group: '所有'
      paths-to-match: '/**'
      packages-to-scan: com.**

knife4j:比swagger更好的在线文档_第1张图片

效果大概就是酱紫的~~


总结

knife4j 的文档确实要比swagger文档看起来好看很多,而且高版本的knife4j还有个非常强大的功能,对于前端来说非常好;

  • 粘贴过去就可以了
    knife4j:比swagger更好的在线文档_第2张图片
  • 离线文档各种格式
    knife4j:比swagger更好的在线文档_第3张图片

你可能感兴趣的:(java,开发语言)