Spring Boot整合Knife4j,操作非常简单就常规的三步骤:引依赖、写配置类、改yml。
一、引入Knife4依赖
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
二、写配置类SwaggerConfig
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
@Configuration
@EnableOpenApi
public class SwaggerConfig {
@Bean
public Docket getDocket() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo()).enable(true)
.select()
.apis(RequestHandlerSelectors.basePackage("cn.chenxp.rbac.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("UI界面标题")
.description("简介")
.contact(new Contact("作者", "联系网址", "邮箱"))
.version("v1.0")
.build();
}
}
三、修改yml文件,解决版本冲突问题
由于springfox 3.0.x 和 Spring Boot 2.6.x 有冲突,所以需要多做这一步(也可以将Spring boot 版本下降到2.5.x)。
spring:
mvc:
path-match:
matching-strategy: ant_path_matcher
常用注解说明
@Api(tag:类的作用):多用在Controller请求类上,对请求类的说明,会在UI界面看到。
@ApiOperation(value:说明用途,notes:备注):用在方法上,说明方法的用途、作用。
@ApiParam(name:参数名,value:参数说明,required:是否必填):用在方法参数上,描述参数的内容。
@ApiResponses:用在请求方法上,用作返回值的描述; @ApiResponses(code:响应码,message:响应信息):用在@ApiResponses中,用于描述响应信息。
@ApiModel(description:描述):用在实体类上,表示返回响应数据; @ApiModelProperty(value:描述):用在属性上,描述响应类的属性。
|