当前位置: 首页 > news >正文

Knife4j Swagger

1. 依赖

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

2. 配置

  • 第二步配置完成就可以访问:http://localhost:8080/doc.html看到效果了

Swagger的配置通常是通过Java代码进行细粒度控制,建议使用配置类的方式进行配置

@Configuration
@Slf4j
public class WebMvcConfiguration extends WebMvcConfigurationSupport {/*** 通过knife4j生成接口文档** @return*/@Beanpublic Docket docket1() {ApiInfo apiInfo = new ApiInfoBuilder().title("苍穹外卖项目接口文档").version("2.0").description("苍穹外卖项目接口文档").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).groupName("管理端接口")	// 分组名称.apiInfo(apiInfo).select().apis(RequestHandlerSelectors.basePackage("com.sky.controller.admin"))	// 指定更具体的controller目录.paths(PathSelectors.any()).build();return docket;}@Beanpublic Docket docket2() {ApiInfo apiInfo = new ApiInfoBuilder().title("苍穹外卖项目接口文档").version("2.0").description("苍穹外卖项目接口文档").build();Docket docket = new Docket(DocumentationType.SWAGGER_2).groupName("用户端接口")	// 分组名称.apiInfo(apiInfo).select().apis(RequestHandlerSelectors.basePackage("com.sky.controller.user"))// 指定更具体的controller目录.paths(PathSelectors.any()).build();return docket;}/*** 设置静态资源映射* @param registry*/protected void addResourceHandlers(ResourceHandlerRegistry registry) {// 必须配置/doc.html的静态路径,不然访问时会返回403:找不到页面registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");}

3. 注解的使用

swagger 2swagger 3用途
@Api@Tag用于controller类上
@ApiOperation(value = “作用”, notes = “描述”)@Operation(summary = “作用”, description = “描述”)用于controller类的方法上,说明方法的用途作用
@ApiImplicitParam@Parameter用于controller类方法的参数,描述单个参数
@ApiParam@Parameter@ApiImplicitParam缩写形式
@ApiImplicitParams@Parameters描述多个参数。它是一个容器注解,可以包含多个
@ApiIgnore@Parameter(hidden = true) 或 @Operation(hidden = true) 或 @Hidden用于参数,隐藏该参数@ApiImplicitParam 注解。
@ApiModel@Schema用于实体类
@ApiModelProperty@Schema用在实体类属性上,描述属性信息
  • 在方法中使用
/*** 员工管理*/
@RestController
@RequestMapping("/admin/employee")
@Api(tags = "员工相关接口")
public class EmployeeController {@ApiOperation(value = "员工登录")@PostMapping("/login")public Result<EmployeeLoginVO> login(@RequestBody EmployeeLoginDTO employeeLoginDTO) {return Result.success(employeeLoginVO);}
http://www.lryc.cn/news/509023.html

相关文章:

  • Xcode 16 编译弹窗问题、编译通过无法,编译通过打包等问题汇总
  • 卷积神经网络入门指南:从原理到实践
  • eNSP安装教程(内含安装包)
  • VBA技术资料MF244:利用VBA在图表工作表中创建堆积条形图
  • 【计算机网络安全】网络攻击
  • 20241230 基础数学-线性代数-(1)求解特征值(numpy, scipy)
  • 基于图注意力网络的两阶段图匹配点云配准方法
  • 【半导体光电子器件】课后习题答案和知识点汇总
  • Unity命令行传递自定义参数 命令行打包
  • web-worker应用在大文件切片上传
  • Django 模板分割及多语言支持案例【需求文档】-->【实现方案】
  • C中设计不允许继承的类的实现方法是什么?
  • 面对小白的C语言学习方法
  • 使用libgif库解码全过程(C语言)-包括扩展块的处理
  • blazor实现ASP.NET网站用户批量注册方法
  • SpringCloud 入门(4)—— 网关
  • 什么是WebAssembly?怎么使用?
  • v3s点RGB屏 40pin 800x480,不一样的点屏,不通过chosen。
  • 某科技局国产服务器PVE虚拟化技术文档
  • 中科岩创边坡自动化监测解决方案
  • GPT-O3:简单介绍
  • cudnn版本gpu架构
  • 数据库安全-redisCouchdb
  • ubuntu22.04安装PaddleX3
  • Flutter 实现全局悬浮按钮学习
  • 14-C语言多文件编程
  • 基于Springboot的在线问卷调查系统【附源码】
  • Redis热点数据管理全解析:从MySQL同步到高效缓存的完整解决方案
  • 【图书介绍】】几本Linux C\C++编程图书
  • MFC/C++学习系列之简单记录7