swagger和spring中的knife4j简介

现在常见的web开发模式是前后端分离开发,这种模式中前后端通过事先约定的接口规范分别进行开发,这样前后端程序的接口就能够正确地处理另一方发送过来的数据。这种模式中,接口规范的管理、测试是很重要的。后端开发者在没有前端发起请求的情况下,需要自己对开发的接口进行测试。可以使用像postman这样的工具,但是postman手动对每个接口进行测试需要开发者手动编写大量的参数,比较麻烦。使用swagger相对比较快捷。

swagger是一种工具和规范,帮助开发者更轻松地设计、构建、记录和使用 RESTful API。换句话说,它是一个用来管理和展示 API 的工具,一般被用于后端开发阶段对api的管理和测试。swagger的主要作用在于:

  1. api文档自动生成。
  2. api测试。通过swagger提供的界面,后端开发者可以直接在浏览器中测试api,而不需要先部署前端工程或是编写多余代码。

基本使用方法

直接使用swagger相对比较繁琐。在java的web项目中通常会使用Knife4j这个框架,它是Java MVC框架集成swagger的增强解决方案,简单来说就是对swagger进行了一层封装,简化了一些操作。

在Java项目中使用它的步骤可以总结为:

  1. 在maven中引入依赖。
  2. 在配置类中加入knife4j的相关配置。
  3. 设置静态资源映射。如果没有配置,就没法访问文档网页页面。

注意,这些代码基本上属于配置的代码,相对固定,尽量不要手动编写。

在配置完成之后,访问本地的localhost:8080/doc.html就可以访问文档页面了。在这个页面中可以看到配置中指定的包下的接口信息。点击某一接口还可以进行接口的调试。

注解

此外,还可以使用提供的一些注解,控制生成的接口文档。例如:

  1. @Api,用在像controller这样的类上,表示对类的说明。
  2. @ApiModel,用在像entity、DTO、VO这样的实体类上。
  3. @ApiModelProperty,用在属性上,描述属性相关信息。
  4. @ApiOperation,用在方法上,比如controller的方法,说明方法的用途。

全局参数

使用swagger进行后端接口测试时,不会像前后端联调时一样请求携带一些参数,因此需要类似jwt令牌校验的功能无法直接进行测试。可以先手动获取jwt令牌值,然后在全局参数一栏中设置对应的值,这样在后续的每次接口测试中,请求都会携带设置好的参数(如jwt令牌)。

posted @ 2025-02-15 16:10  随机生成一个id  阅读(131)  评论(0)    收藏  举报