Springboot集成knife4j实现风格化API文档
POM引入插件
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索最新版本号 -->
<version>2.0.3</version>
</dependency>
配置加载
package com.pengsn.apiserver.videoconference.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* 配置
*/
@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class SwaggerConfiguration {
@Bean(value = "defaultApi2")
public Docket defaultApi2() {
Docket docket = new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo())
.select()
// 这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage(
"com.pengsn.apiserver.videoconference.business"))
.paths(PathSelectors.any()).build();
return docket;
}
private ApiInfo apiInfo() {
Contact contact = new Contact("pengsn", "", "");
return new ApiInfoBuilder().title("视频会议接口描述").
description("视频会议接口描述").contact(contact).version("1.0").build();
}
}
注解使用
- @Api(tags="controller description"); 作用于 类
- @ApiOperator(value="接口名称", notes="接口描述") 作用于 方法
- @ApiOperationSupport(order=1) 排序
界面显示
如果觉得文章对您有用,请点下推荐。您的支持将鼓励我继续创作!