knife4j使用
knife4j使用
knife4j使用
- knife4j使用
- 第一步:创建Spring Boot项目Knife4j的依赖包
- 第二步:创建Swagger配置依赖
- 第三步: 新建一个接口Controller类
- 第四步: 权限拦截记得放行
- 第五步: yaml文件中动态开启参数请求
原文:https://doc.xiaominfo.com/
不同规范以及Spring Boot3 OpenAPI3的使用请移步详细文档
第一步:创建Spring Boot项目Knife4j的依赖包
创建Spring Boot项目并且在pom.xml中引入Knife4j的依赖包,代码如下:
<!--引入Knife4j的官方start包,该指南选择Spring Boot版本<3.0,开发者需要注意-->
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.4.0</version>
</dependency>
第二步:创建Swagger配置依赖
创建Swagger配置依赖,代码如下::
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {@Bean(value = "dockerBean")public Docket dockerBean() {//指定使用Swagger2规范Docket docket=new Docket(DocumentationType.SWAGGER_2).enable(true) //是否开启Swagger文档,这里可以根据环境动态配置.apiInfo(new ApiInfoBuilder()//描述字段支持Markdown语法.description("# Knife4j RESTful APIs").termsOfServiceUrl("https://doc.xiaominfo.com/").contact("xiaoymin@foxmail.com").version("1.0").build())//分组名称.groupName("用户服务").select()//这里指定Controller扫描包路径.apis(RequestHandlerSelectors.basePackage("com.github.xiaoymin.knife4j.controller")).paths(PathSelectors.any()).build();return docket;}
}
第三步: 新建一个接口Controller类
新建一个接口Controller类,如下:
@Api(tags = "首页模块")
@RestController
public class IndexController {@ApiImplicitParam(name = "name",value = "姓名",required = true)@ApiOperation(value = "向客人问好")@GetMapping("/sayHi")public ResponseEntity<String> sayHi(@RequestParam(value = "name")String name){return ResponseEntity.ok("Hi:"+name);}
}
万事俱备,启动Spring Boot项目,浏览器访问Knife4j的文档地址即可查看效果
http://localhost:8080/doc.html
我使用的是springboot 2.2.4.RELEASE,shiro.version 1.4.0
第四步: 权限拦截记得放行
如果有权限拦截记得放行四个资源
"/swagger-ui.html",
"/webjars/**",
"/swagger-resources/**",
"/v2/**"
第五步: yaml文件中动态开启参数请求
yaml文件中增加,这样可以动态开启参数请求,主要是header有token这些,可以动态添加,也可以在页面自己勾选,但是需要刷新页面
knife4j:enable: truesetting:# 开启动态请求参数,true-开启,false-关闭enable-dynamic-parameter: true