springboot整合knfi4j

猝死的路上發表於2024-05-03

1.pom檔案新增依賴

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

2.配置knfi4j

@Configuration
@EnableSwagger2
@EnableWebMvc
public class Knife4jConfig {
    
    @Bean
    public Docket adminApiConfig(){
        
        Docket adminApi = new Docket(DocumentationType.SWAGGER_2)
                .enable(true)
                .groupName("adminApi")
                .apiInfo(adminApiInfo())
                .select()
                //掃描哪個包
                .apis(RequestHandlerSelectors.basePackage("org.test.api"))
                //哪個請求路徑
                .paths(PathSelectors.regex("/admin/.*"))
                .build();
        return adminApi;
    }
    
    private ApiInfo adminApiInfo(){
        return new ApiInfoBuilder()
                .title("後臺管理系統-API文件")
                .description("本文件描述了後臺管理系統微服務介面定義")
                .version("1.0")
                .contact(new Contact("張三","http://test.com","test@test.com"))
                .build();
        
    }
    
}


3.還要配置WebMvcConfig,不然請求doc.html會404

@Configuration
public class WebAppMvcConfig implements WebMvcConfigurer {
    
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry){
        registry.addResourceHandler("doc.html")
                .addResourceLocations("classpath:/META-INF/resources/");
    
        /** 公共部分內容 */
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");

    }
}

4.在controller上配置
@Api(tags="角色管理")

5.在方法上配置
@ApiOperation("查詢所有角色")

6.啟動專案,在專案後加 doc.html,比如http://localhost:8080/doc.html,顯示如下介面代表成功

相關文章