Spring Boot 框架 集成 Knife4j(内含源代码)
源代码下载链接地址:
https://download.csdn.net/download/weixin_46411355/87480176
目录
- Spring Boot 框架 集成 Knife4j(内含源代码)
- `源代码下载链接地址:`[https://download.csdn.net/download/weixin_46411355/87480176](https://download.csdn.net/download/weixin_46411355/87480176)
- 零、创建一个SpringBoot项目
- 一、pom.xml导入Knife4j的依赖
- 二、创建Knife4j的配置类
- 三、application.yml配置文件
- 四、Controller层
- 五、运行启动类,访问并测试
零、创建一个SpringBoot项目
一、pom.xml导入Knife4j的依赖
第一步:在maven项目的pom.xml中引入Knife4j的依赖包,代码如下
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>2.0.9</version>
</dependency>
二、创建Knife4j的配置类
第二步:创建Swagger配置依赖,代码如下:
package com.github.xiaoymin.knife4j.config;
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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
@EnableSwagger2WebMvc
@Configuration
public class Knife4jConfiguration {
@Bean(value = "defaultApi2")
public Docket defaultApi2() {
Docket docket=new Docket(DocumentationType.SWAGGER_2)
.apiInfo(new ApiInfoBuilder()
.title("swagger-bootstrap-ui-demo RESTful APIs")
.description("# swagger-bootstrap-ui-demo RESTful APIs")
.termsOfServiceUrl("http://www.xx.com/")
.contact("xx@qq.com")
.version("1.0")
.build())
//分组名称
.groupName("2.X版本")
.select()
//这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.github.xiaoymin.knife4j.controller"))
.paths(PathSelectors.any())
.build();
return docket;
}
}
三、application.yml配置文件
application.yml
server:
port: 17790
spring:
mvc:
pathmatch:
matching-strategy: ANT_PATH_MATCHE
最終整个工程目录结构如下图:
四、Controller层
IndexController.java包含一个简单的RESTful接口,代码示例如下:
package com.github.xiaoymin.knife4j.controller;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "首页模块")
@RestController
public class IndexController {
@ApiOperation(value = "向客人问好")
@ApiImplicitParam(name = "name",value = "姓名",required = true)
@GetMapping("/sayHi")
public ResponseEntity<String> sayHi(@RequestParam(value = "name")String name){
return ResponseEntity.ok("Hi:"+name);
}
}
五、运行启动类,访问并测试
此时,启动Spring Boot工程,在浏览器中访问:http://localhost:17790/doc.html
界面效果图如下:
测试