Springboot整合knife4j

1.简介

Knife4j 是为 Java MVC 框架集成 Swagger 生成 Api 文档的增强解决方案,前身是 swagger-bootstrap-ui,致力于 springfox-swagger 的增强 UI 实现。knife4j 为了契合微服务的架构发展,由于原来 swagger-bootstrap-ui 采用的是后端 Java 代码 + 前端 UI 混合打包的方式,在微服务架构下显的很臃肿,因此项目正式更名为 knife4j,更名后主要专注的方面如下:

  • 后端 Java 代码以及前端 UI 模块进行了分离,在微服务架构下使用更加灵活
  • 提供专注于 Swagger 的增强解决方案,不同于只是单纯增强前端 UI 部分

2.整合环境

1.导入依赖

<!--swagger2-->
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>3.0.3</version>
</dependency>

2.配置

spring.mvc.pathmatch.matching-strategy =ant-path-matcher

3.config

@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket webApiConfig() {
return new Docket(DocumentationType.SWAGGER_2)
// 创建接口文档的具体信息
    .apiInfo(webApiInfo())
// 创建选择器,控制哪些接口被加入文档
    .select()
// 指定@ApiOperation标注的接口被加入文档
    .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
    .build();
}
private ApiInfo webApiInfo() {
    return new ApiInfoBuilder()
// 文档标题
    .title("标题:学校管理系统接口文档")
// 文档描述
    .description("描述:本文档描述了学校管理系统的接口定义")
// 版本
    .version("1.0")
// 联系人信息
    .contact(new Contact("方书帆", "", ""))
// 版权
    .license("")
// 版权地址
    .licenseUrl("")
    .build();
}

4.model

@ApiModel(value = "学生表",description = "学生实体")
public class Student {
@ApiModelProperty(value = "主键")
private int id;
@ApiModelProperty(value = "学生名字")
private String StuName;
}

5.controller

@RequestMapping("user")
@Api(tags = "用户控制器")
public class UserController {
@RequestMapping(value = "getUser",method = RequestMethod.GET)
@ApiOperation(value = "查询所有学生",notes = "查询所有用户信息")
public String getUser(int id,String name){
    return name;
}

你可能感兴趣的:(Springboot,spring,boot,后端,java)