springBoot使用swagger增强UI界面knife4j生成接口文档

springBoot | 2020-08-21 17:11:03

swagger基于代码生成文档很强悍了,但是在接口很多的时候swagger原生的ui界面就不是很好展现,这个时候就有人来制作符合国人习惯的UI增强包了,那就是knife4j-spring-ui,knife4j-spring-ui的前生是小有名气的swagger-bootstrap-ui.knife4j-spring-ui界面更好看,而且进行了集成封装使用更简单。

1.springBoot集成knife4j

只需要在项目引用knife4j的包就可以了

<dependencies>
    <dependency>
        <groupId>com.github.xiaoymin</groupId>
        <artifactId>knife4j-spring-boot-starter</artifactId>
        <!--在引用时请在maven中央仓库搜索最新版本号-->
        <version>2.0.2</version>
    </dependency>
</dependencies>

再在启动类添加注解

@EnableSwagger2
@EnableKnife4j

 

注解 说明
@EnableSwagger2 该注解是Springfox-swagger框架提供的使用Swagger注解,该注解必须加
@EnableKnife4j 该注解是knife4j提供的增强注解,Ui提供了例如动态参数、参数过滤、接口排序等增强功能,如果你想使用这些增强功能就必须加该注解,否则可以不用加

 

然后你就可以访问接口文档了

http://localhost:8080/doc.html

当然你还可以进一步配置

@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class SwaggerConfiguration {
 

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                //分组名称
                .groupName("2.X版本")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.swagger.bootstrap.ui.demo.new2"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

}

 

2.代码中添加注解生成API文档的写法

参考上一篇文章:springBoot使用swagger3自动生成接口文档

主要看文章包含了的注解说明和案例代码,swagger2和swagger3注解代码写法是兼容的。

登录后即可回复 登录 | 注册
    
关注编程学问公众号