一、前言
knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案(在非Java项目中也提供了前端UI的增强解决方案),前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍!
二、快速使用
2.1 依赖引入
老版本引用
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>swagger-bootstrap-ui</artifactId><version>1.9.6</version></dependency>新版本引用
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.2</version></dependency>2.2 application.yml配置
这里我们为knife4j访问增加密码
knife4j:basic:enable:trueusername:adminpassword:1234562.3 创建Swagger配置依赖
@ConfigurationpublicclassKnife4jConfiguration{@Bean(value="defaultApi2")publicDocketdefaultApi2(){Docketdocket=newDocket(DocumentationType.SWAGGER_2).apiInfo(newApiInfoBuilder()//.title("swagger-bootstrap-ui-demo RESTful APIs").description("# swagger-bootstrap-ui-demo RESTful APIs").termsOfServiceUrl("http://www.wno704.com/").contact(newContact("wno704","http://www.wno704.com","wno704@126.com")).version("1.0").build())//分组名称.groupName("2.X版本").select()//这里指定Controller扫描包路径.apis(RequestHandlerSelectors.basePackage("com.springboot.boot.controller")).paths(PathSelectors.any()).build();returndocket;}}2.4 编写测试类
@Api(tags="测试模块")@RestControllerpublicclassKnife4jController{@ApiImplicitParam(name="name",value="姓名",required=true)@ApiOperation(value="向客人问好")@GetMapping("/sayHi")publicResponseEntity<String>sayHi(@RequestParam(value="name")Stringname){returnResponseEntity.ok("Hi:"+name);}}2.5 测试
访问 http://127.0.0.1:8080/doc.html, 如下:
输入上面application.yml配置的密码后如下图: