knife4j——集成Swagger生成Api文档
可能出现一些问题,例如favicon.ico,姥姥们的解决方案springboot3.0.11-SNAPSHOT使用knife4j-openapi3所遇见的问题-CSDN博客
首先是依赖导入
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
然后是配置文件中的配置
/**
* 配置类,注册web层相关组件
*/
@Configuration
public class WebMvcConfiguration extends WebMvcConfigurationSupport {
/**
* 通过knife4j生成接口文档
* @return
*/
@Bean
public Docket docket() {
ApiInfo apiInfo = new ApiInfoBuilder()
.title("接口文档标题")
.version("2.0")//版本号
.description("接口文档详细信息")
.build();
Docket docket = new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo)
.select()
.apis(RequestHandlerSelectors.basePackage("填写要管理的包路径"))//一般管理controller包下的接口类
.paths(PathSelectors.any())
.build();
return docket;
}
/**
* 设置静态资源映射
* @param registry
*/
protected void addResourceHandlers(ResourceHandlerRegistry registry) {//addResourceHandlers为WebMvcConfigurationSupport类中的实现方法
registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");//之后通过,访问地址/doc.html来访问端口测试页面
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
}
}
接下来是几种常用的注解,用于在生成的测试接口文档中做更清晰的描述
@Api(tags = "写在接口类的描述信息")
public class EmployeeController {}
@ApiOperation(value = "写在方法的描述信息")//value=可省略
public Result<String> logout() {
@ApiModel(description = "写在实体类上的描述信息")
public class EmployeeLoginDTO {
@ApiModelProperty("写在属性上的描述信息")
private String username;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?