Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

22.2. Spring boot with knife4j

22.2.1. maven

		
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
            <version>4.4.0</version>
        </dependency>		
		
			

22.2.2. Knife4jConfiguration

		
package cn.netkiller.config;

import io.swagger.v3.oas.models.ExternalDocumentation;
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.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class Knife4jConfiguration {
    @Bean
    public GroupedOpenApi adminApi() {      // 创建了一个api接口的分组
        return GroupedOpenApi.builder()
                .group("default")         // 分组名称
                .pathsToMatch("/**")  // 接口请求路径规则
                .build();
    }

    @Bean
    public OpenAPI openAPI() {
        return new OpenAPI()
                .info(new Info()
                        .title("netkiller")
                        .description("接口描述")
                        .version("v1.0.0")
                        .contact(new Contact().name("neo").email("netkiller@msn.com"))
                        .license(new License().name("Apache 2.0").url("https://www.netkiller.cn/docs"))
                ).externalDocs(new ExternalDocumentation()
                        .description("外部文档")
                        .url("https://www.netkiller.cn/docs"));

    }

}		
		
			

22.2.3. application.properties

		
# springdoc-openapi项目配置
springdoc.swagger-ui.path=/swagger-ui.html
springdoc.swagger-ui.tags-sorter=alpha
springdoc.swagger-ui.operations-sorter=alpha
springdoc.api-docs.path=/v3/api-docs
# knife4j的增强配置,不需要增强可以不配
knife4j.enable=true
knife4j.setting.language=zh_cn