介绍
Knife4j 是一款基于 Swagger 构建的增强型 API 文档生成工具,它提供了更多的定制化功能和界面优化,使得生成的 API 文档更加美观和易用。它可以帮助开发者快速生成和管理 API 文档,支持在线调试和交互。
依赖
<!--knife4j-->
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi2-spring-boot-starter</artifactId><version>4.0.0</version> <!-- 可以根据需要替换为最新版本 -->
</dependency>
配置类
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfig {@Beanpublic Docket Api(){Docket docke= new Docket(DocumentationType.SWAGGER_2).apiInfo(new ApiInfoBuilder().title("学生管理系统") //文档名称.description("基于SpringBoot的学生管理系统") //介绍.termsOfServiceUrl("xxxxx") //服务条款.contact(new Contact("生产队的驴","http://local:8080","6666@qq.com")) //作者信息.license("无") //许可证.licenseUrl("无") //许可证地址.version("V1.0") //版本.build()) //构建.groupName("开发环境") //分组.select().apis(RequestHandlerSelectors.basePackage("com.mybatis.mybatisplusdemo.controller"))//查找的包名.build();return docke;}
}
地址 http://127.0.0.1:9090/doc.html
实体类
@Data
@ApiModel("部门")
public class Emp {@ApiModelProperty("编号")private int id;@ApiModelProperty("姓名")private String name;@ApiModelProperty("电话")private String tele;@ApiModelProperty("性别")private char gender;@ApiModelProperty("日期")@DateTimeFormat(pattern = "yyyy-MM-dd")private LocalDate birthday;@ApiModelProperty("工资")private float salary;@ApiModelProperty("职位")private String post;private int depNo;
}
控制器
@RestController
@RequestMapping("/emp")
@RequiredArgsConstructor //只初始化必备的变量
@Api(tags = "部门管理")
public class EmpController {private final IEmpService empService ;@PostMapping()@ApiOperation(value = "添加部门成员")public Result add(@RequestBody Emp emp){Boolean isSuccess= empService.save(emp);return Result.success("操作成功",isSuccess);}@GetMapping()@ApiOperation(value = "获取员工列表")public Result getEmpList(@RequestParam List<Integer> ids){List<Emp> list =empService.listByIds(ids);return Result.success("获取成功",list);}@GetMapping("/search")@ApiOperation(value = "查询员工")public Result search(Emp emp){System.out.println(emp);List<Emp> list =empService.searchList(emp);return Result.success("操作成功",list);}}