Swagger快速入门教程笔记 (2)

在这里插入图片描述

可以看到分组的描述信息已经显示出来了。

配置扫描范围

当我们多个人同时开发一个程序时,就会使用多个分组,每个人对应这一个分组,其中每个分组都有自己的接口文档,这里需要配置分组接口显示

例:张涵哲负责开发用户相关的接口 包位置:club.hanzhe.controller.user.UserController.java

@Bean public Docket docket() { return new Docket(DocumentationType.SWAGGER_2) .groupName("张涵哲的分组") .apiInfo(apiInfo()) // select开始,build结束,apis用来过滤 .select() .apis(RequestHandlerSelectors.basePackage("club.hanzhe.controller.user")) .build(); }

这样一来该分组下就只会显示固定的接口信息了,除开通过包扫描的方法之外还有其他的方法进行筛选:

RequestHandlerSelectors 类中其他的静态函数:

函数名 作用
any()   扫描全部接口  
none()   不扫描  
basePackage(String package)   根据给定的包的位置进行扫描  
withClassAnnotation(Class annotation)   类上有对应注解会被扫描  
withMethodAnnotation(Class annotation)   函数上有对应注解的会被扫描  

还可以通过路径进行过滤:

@Bean public Docket docket() { return new Docket(DocumentationType.SWAGGER_2) .groupName("张涵哲的分组") .apiInfo(apiInfo()) // select开始,build结束,paths用来过滤 .select() .paths(PathSelectors.ant("/user/**")) .build(); }

PathSelectors 类中其他的静态函数:

函数名 作用
any()   扫描全部接口  
none()   不扫描  
ant(String path)   扫描指定路径  
regex(String regex)   根据正则表达式过滤  
接口信息配置

简单接口显示

在这里插入图片描述

上面的图片是扫描到接口后默认生成的接口文档,Swagger 是以 Controller 为单位,对接口进行分组管理的,这个分组的元素在 Swagger 中称为 Tag,我们可以通过注解来修改一下接口文档,让他更人性化:

注解 作用
@Api(tags = "")   标注在类上 用来表明接口组,tags=组名  
@ApiOperation(value = "", notes = "", tags="")   标注在函数上 value=标题,notes=描述,tags=分组  
@ApiParam("")   标注在参数列表中 表示当前参数代表的含义以及用法  

例如下面我们编辑一下当前的 UserController:

@Api(tags = "User接口文档") @RestController @RequestMapping("/user") public class UserController { @GetMapping("http://www.likecs.com/") @ApiOperation("查询所有user") public R getList(){ ... } @PostMapping("http://www.likecs.com/") @ApiOperation(value = "添加新的user信息", notes = "传入用户信息进行封装user进行添加") public R addUser(@RequestBody UserBean user){ ... } @PutMapping("/{id}") @ApiOperation(value = "通过ID更新user信息", notes = "路径传入ID,json传输修改信息") public R updateUser(@PathVariable("id")Long id, @RequestBody UserBean user){ ... } @DeleteMapping("/{id}") @ApiOperation(value = "通过ID删除user信息", notes = "路径传入ID进行删除") public R deleteUser(@ApiParam("删除的目标ID")@PathVariable("id") Long id){ ... } }

效果如下图所示:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjzgs.html