2.使用 2.1 创建一个springboot的项目(2.5.4版本) 2.2 引入knife4j依赖(3.0.3版本)Swagger是一款测试文档Api接口,而knife4j是对Swagger进一步封装,其优化了api文档的界面。官网knife4j。
2.3 创建配置类knife4j-spring-boot-starter com.github.xiaoymin 3.0.3
package com.briup.config;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
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.service.ApiInfo;
import springfox.documentation.spi.documentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableSwagger2
@Configuration
//比swagger的配置类多了一个注解,其他一样
@EnableKnife4j
public class Swagger2Config {
@Bean
public Docket createRestApi() {
return new Docket(documentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.briup.web"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("XXXX管理系统")
.description("欢迎访问XXX官网")
.termsOfServiceUrl("XXXXXX")
.version("1.0")
.build();
}
}
2.4 编写开发接口,注解和swagger中的注解一样使用
package com.briup.web;
import com.briup.bean.User;
import com.briup.service.UserService;
import com.briup.util.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "用户管理")
@RequiredArgsConstructor
@RequestMapping("/user")
@RestController
public class UserController {
private final UserService userService;
@ApiOperation(value = "检索所有用户信息")
@GetMapping("/findAllUsers")
public Result findAllUsers(){
List list =
userService.findAll();
return Result.success(list);
}
@ApiOperation(value = "根据id获取用户信息")
@GetMapping("/getUserById/{id}")
public Result getUserById(@PathVariable Integer id){
User user = userService.findUserById(id);
return Result.success(user);
}
}
2.5 测试。
启动项目,浏览器访问localhost:8080/doc.html就可以看到接口的信息,展开接口,就能看到所有接口的详细信息。
展开后可以对各个请求进行测试。选择接口后点击调试,输入相关的参数点击发送按钮即可。
还支持导出各种形式的接口文档
例如,导出的md文档



