0
点赞
收藏
分享

微信扫一扫

knife4j:比swagger更好的在线文档



文章目录

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


前言

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

一、集成knife4j

  • 创建一个springboot项目
  • 引入对应版本的knife4j

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
        </dependency>

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

二、配置knife4j

1.新增配置文件

Swagger3Config.java

/**
 * 文档配置
 * <a href="https://doc.xiaominfo.com/">swagger</a>
 *
 * @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更好的在线文档_java

效果大概就是酱紫的~~

总结

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

  • 粘贴过去就可以了
  • 离线文档各种格式



举报

相关推荐

0 条评论