Spring Boot 2.x基础教程:Swagger接口分类与各元素排序问题详解

作者:微信小助手

发布时间:2019-10-09T08:52:33

点击蓝色“程序猿DD”关注我

回复“资源”获取独家整理的学习资料!

作者 | 翟永超

来源 | didispace.com/spring-boot-learning-21-2-4/

之前通过Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档一文,我们学习了如何使用Swagger为Spring Boot项目自动生成API文档,有不少用户留言问了关于文档内容的组织以及排序问题。所以,就特别开一篇详细说说Swagger中文档内容如何来组织以及其中各个元素如何控制前后顺序的具体配置方法。

接口的分组

我们在Spring Boot中定义各个接口是以Controller作为第一级维度来进行组织的,Controller与具体接口之间的关系是一对多的关系。我们可以将同属一个模块的接口定义在一个Controller里。默认情况下,Swagger是以Controller为单位,对接口进行分组管理的。这个分组的元素在Swagger中称为Tag,但是这里的Tag与接口的关系并不是一对多的,它支持更丰富的多对多关系。

默认分组

首先,我们通过一个简单的例子,来看一下默认情况,Swagger是如何根据Controller来组织Tag与接口关系的。定义两个Controller,分别负责教师管理与学生管理接口,比如下面这样:

@RestController
@RequestMapping(value = "/teacher")
static class TeacherController {

@GetMapping("/xxx")
public String xxx() {
return "xxx";
}

}

@RestController
@RequestMapping(value = "/student")
static class StudentController {

@ApiOperation("获取学生清单")
@GetMapping("/list")
public String bbb() {
return "bbb";
}

@ApiOperation("获取教某个学生的老师清单")
@GetMapping(