0


springBoo3.0集成knife4j4.1.0(swagger3)

温馨提示:

springBoot 版本 3.0+

knife4j 版本 4.1.0

添加依赖:knife4j包含了swagger,openapi3中的依赖,所以加这一个就行。

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
    <version>4.1.0</version>
</dependency>
<!--springBoot相关配置忽略-->

yml文件中配置:

#springdoc相关配置
springdoc:
  swagger-ui:
    path: /swagger-ui.html
    tags-sorter: alpha
    operations-sorter: alpha
  api-docs:
    path: /v3/api-docs
  group-configs:
    - group: 'hyc'
      paths-to-match: '/**'
      packages-to-scan: com.hyc  #改成你自己的包名,一般到启动类的包名

#knife4j相关配置 可以不用改
knife4j:
  enable: true
  setting:
    language: zh_cn
    swagger-model-name: 实体类

配置类,主要是配置接口文档的主页信息,也可以写在yml文件中,这里是采用的配置类

package com.hyc.config;

import cn.hutool.core.util.RandomUtil;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Contact;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License;
import org.springdoc.core.customizers.GlobalOpenApiCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.HashMap;
import java.util.Map;

/**
 * Swagger配置
 */
@Configuration
public class SwaggerConfig {
    /**
     * 根据@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("SpringCloud微服务系统API")
                        .version("1.0")
                        .contact(new Contact().name("hyc").url("www.baidu.com").email("[email protected]"))
                        .description( "SpringCloud微服务系统API")
                        .termsOfService("www.baidu.com")
                        .license(new License().name("Apache 2.0")
                                .url("www.baidu.com")));
    }
}

然后,就可以启动测试输入地址http://ip:port/doc.html

注解的基本使用可以看下这里:swagger3注解和swagger2的区别

这里主要提下请求参数为文件的时候怎么写

@Parameter(name = "image", description = "图片文件", required = true,schema =@Schema(type = "file"))
在@Parameter参数注解里面加
schema = @Schema(type = "string", format = "binary")
标签: spring boot java

本文转载自: https://blog.csdn.net/qq_45001053/article/details/129875578
版权归原作者 如果又如果啊 所有, 如有侵权,请联系我们删除。

“springBoo3.0集成knife4j4.1.0(swagger3)”的评论:

还没有评论