Swagger+Knife4j
2023-05-04 17:44:27 0 举报
AI智能生成
Swagger+Knife4j
作者其他创作
大纲/内容
项目集成环境
1、SpringBoot
2、SpringDoc-OpenApi:使用 springdoc-openapi 可以快速为 springboot 项目生成规范的 API 文档
3、Knife4j:
1、项目介绍文档 doc.xiaominfo.com/v2/document…
2、Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案
3、取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍,更名也是希望把她做成一个为Swagger接口文档服务的通用性解决方案,不仅仅只是专注于前端Ui前端
2、Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案
3、取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍,更名也是希望把她做成一个为Swagger接口文档服务的通用性解决方案,不仅仅只是专注于前端Ui前端
4、pom坐标
5、application.yml配置
6、OpenApiConfig配置类
常用注解
1、实体类注解
1、用在实体类上:@Schema(name = "User实体类")
2、用在属性上:@Schema(description = "密码", required = false, example = "123456")
2、控制器接口注解
1、用在控制器类上:@Tag(name = "用户管理接口")
2、用在接口方法上:@Operation(summary = "post使用对象接收多个参数-openapi3方式接收参数", parameters = {
@Parameter(name = "name", description = "用户名", required = true),
@Parameter(name = "password", description = "密码", required = false) })
@Parameter(name = "name", description = "用户名", required = true),
@Parameter(name = "password", description = "密码", required = false) })
3、doc界面:隐藏参数@Parameter(hidden = true)
GET/POST示例
1、从Header中获取参数
2、只允许通过x-www-form-urlencoded方式传递参数
@PostMapping(value = "/getMultiParam7", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
3、只允许通过form-data方式传递参数
@PostMapping(value = "/getMultiParam8", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
4、只允许通过raw(json)传递参数
@PostMapping(value = "/getMultiParam6", consumes = MediaType.APPLICATION_JSON_VALUE)
5、允许bianry方式上传文件
@PostMapping(value = "/getMultiParam9", consumes = MediaType.TEXT_PLAIN_VALUE)
6、允许base64文件编码上传文件
示例项目仓库链接
https://gitee.com/sun-guo-qiang/swagger-2-example--2
0 条评论
下一页