网站首页排名突然没了,wordpress 附件 标签,优化公司治理结构的措施,网站建设毕业设计摘要1.概述
knife4j官网为#xff1a;介绍 | Knife4j (xiaominfo.com)https://doc.xiaominfo.com/docs/introduction
初步了解的码友可以初步了解一下官网的如下几个模块#xff1a; 其中在快速开始模块中#xff0c;不同的springboot版本都有一个使用的案例demo如下图位置介绍 | Knife4j (xiaominfo.com)https://doc.xiaominfo.com/docs/introduction
初步了解的码友可以初步了解一下官网的如下几个模块 其中在快速开始模块中不同的springboot版本都有一个使用的案例demo如下图位置大家可以点击进去把对应的代码下载到本地查看是如何使用和引用knife4j的 总结下来就是knife4j是基于swagger优化的、比swagger更好用的接口文档生成器。
2.快速集成springboot
个人bibilailai:
以前可以学习某个不复杂的新知识我的学习方法是先去官网了解一些概念性的东西然后找到快速开始的博客跟着博客的步骤进行快速集成。
但是这次集成knife4j我按照官网的方式csdn博客的指引试过多次要么报错要么某些增强功能用不了多少都会有这样那样的问题。最终把官网的案例demo下载下来然后在自建测试项目的pom.xml文件中添加和demo中一样的knife4j依赖这样操作就很丝滑了。也是为以后的学习之路找到了一个新的办法。
2.1 引入依赖
在pom.xml文件中加入如下依赖 dependencyManagementdependenciesdependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-dependencies/artifactIdversion4.5.0/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementdependenciesdependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-openapi3-jakarta-spring-boot-starter/artifactId/dependency
/dependencies
我的整个pom.xml文件为
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion3.3.8-SNAPSHOT/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.knife4j/groupIdartifactIdMyKnife4jDemo/artifactIdversion0.0.1-SNAPSHOT/versionnameMyKnife4jDemo/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version17/java.version/propertiesdependencyManagementdependenciesdependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-dependencies/artifactIdversion4.5.0/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.24/version/dependencydependencygroupIdcom.github.xiaoymin/groupIdartifactIdknife4j-openapi3-jakarta-spring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/buildrepositoriesrepositoryidnexus-maven/idnamenexus-maven/nameurlhttps://oss.sonatype.org/content/repositories/snapshots//url/repository/repositories/project2.2 配置文件
2.2.1 添加配置文件
添加配置文件Knife4jConfig.java
Configuration
EnableKnife4j
public class Knife4jConfig {Beanpublic OpenAPI openAPI() {return new OpenAPI().info(new Info().title(knife4j-openapi3入门测试).version(1.0).description(knife4j-openapi3项目的接口文档));}Beanpublic GroupedOpenApi userAPI() {return GroupedOpenApi.builder().group(用户信息管理).pathsToMatch(/user/**).build();}Beanpublic GroupedOpenApi userAPIGroup() {return GroupedOpenApi.builder().group(组管理).pathsToMatch(/group/**).build();}
}
2.2.2 appilication.yml配置
#开启增强功能模式
knife4j:enable: true
2.3 使用注解
2.3.1 注解说明
pom中引入的依赖是关于openApi3规范的所以针对于该规范对应的注解使用如下
swagger2规范openApi规范Api:定义接口分组名称Tag(name “接口类描述述”)ApiImplicitParam: 单个参数注释Operation(summary “接口方法描述”)ApiImplicitParams:多个参数注释Parameters多个参数注释ApiModel:实体类定义Parameter单个参数注释ApiModelProperty:实体属性定义Parameter(hidden true) 排除隐藏apiApiOperation:接口定义Operation(hidden true)排除隐藏apiApiParam:参数注释Hidden排除或隐藏apiApiResponse:响应码SchemaDTO实体DTO实体属性ApiResponses:多个响应码 ApiSort(1)对controller类进行排序 ApiOperationSupport(order 2,author 张三)对接口进行排序并指明接口作者2.3.2 注解使用
RequestMapping(/user)
RestController
Tag(name 用户控制类)
ApiSort(1)
public class UserController {GetMapping(/userName)ApiOperationSupport(order 2,author 张三)Operation(summary 获取用户名称)public String getUserName() {return 张三;}GetMapping(/userNo)ApiOperationSupport(order 1,author 李四)Operation(summary 获取用户编码)public String getUserNo() {return 167545;}
}
2.4 运行项目
运行项目后在浏览器输入localhost:端口号/doc.html就可以访问如下页面了 3.knife4j增强特性
可直接参考官网。后续更新...