还可以进行一些测试,比如说模拟一些数据。
对这个接口进行一个联调
,
把controller里面的方法加上一些这样的注解的时候,它就会把这个controller生产到swagger ui管理平台上
,
,大家可以看到
,因为它标记了这个
,然后swagger,就会扫描包含这个注解的
方法,
第二种扫描是按包的形式,假如说我要扫描整个controller层的所有的控制器,我们就以包扫描的形式,可以扫描一下看有什么效果。大家可以看到这个包下的所有的控制器,都扫描到了
,大家可能看到这些重复的, 这些接口没有标记是什么类型的。它会把所有的类型都包含上,没有这个接口,没有特定的一个类型,所以它会把接口所有可能的方法都列出来,
,比如说某一个接口,我们这样写
,它就会只显示post这个接口
,
如果不写这个的话,它就会所有的都显示出来。
然后我们回到原来的样子,
让他简捷一点
重启一下.
这个配置之后,需要加一个注解,加这个注解就开启swagger了。,
还有一个是,这个东西在这配置的
,我这儿有个判断
,还有这个里面也有一个判断,
当这里为true的时候,这些代码才会生效
,这个是spring boot 的条件化装配
,我这里加了一个开关,swagger-open,当为true的时候才开启swagger
,如果为false就不配置,这些就不会显示
,同样的
,
这个配置也是一个根据开关读取,
,它会获取当前开关是否开启,是否是true,是否打开了,如果打开了才配置这两个东西
,这个为什么要配
,因为swagger它有些静态资源,需要做一下处理,大家可以看到这个页面,这些都不是写的
,都是在我们的jar包里面引入的,
,我们要显示这个jar包里面的html的话,我们需要做一个映射,
,gosspringmvc,当我们访问
,告诉我这个资源,它对应的在哪个classpath路径里面,哪个目录下
,要是不告诉springmvc的话,她会直接走一个,因为springmvc不能直接获取这些静态的资源,swagger里面用到的这些静态资源都在jar包下
,如果你要访问
,这个的话,我们相当于请求的是我们springmvc的DispatecherServlet,它会尝试着找controller,但是没有这样的controller,因为我们走的是一个静态资源
,所以告诉springmvc,我们这样子请求的时候
,我们请求的是某一个路径下的静态资源
。所以说要做一个映射,要不然它走的话,我们访问
,它应该走的是一个服务器,而我们没有这样的控制器,它作为静态资源处理,所以说加一个这样的映射。加映射之后,我们访问这样的路径
,走这个的时候我们才可以访问这个swagger-ui.html,相应的为什么要用web.jar呢,web.jar就是swagger里面其他的一些静态资源,swagger是主页。
swagger集成之后,怎么让接口显示出来.,对某一个接口加上注解,那么就可以显示到我们的页面里面。下面我们看一下CodeController,通过
,
下面对swagger的用法做一个介绍,首先说这个,
,
作用的方法上之后可以联想到这个配置
,这个配置是扫描apiOperation这个注解,所以加上它之后,这个东西就会显示在项目文档上。
它的参数response就是描述接口的返回值,返回值是一个什么类,大家可以看到response,这个里面应该是个UseDto.class,这个里面应该包含这个字段
, 大家都可以看到这些字段都列在这里面
,
用在方法上包含一组参数说明,这个参数说明是一个数组,这个数组里面包含
主要用来描述请求参数
value,描述这个接口是不是为空的时候请求,是否是必须的,
parameterType他描述的是一个请求的类型,
header--->请求头参数的获取,
,
在接口里面写这样的变量,
,用PathVariable接收。
这个东西跟我们的接收类型都是一一对应的。描述的是
,接收的时候用
接收,
.
假如我们需要描述一下xxx,我们应该用
来描述,
这里是通过RestAPI的方式获取的这个变量,然后这个参数描述的时候,它的参数是path,path就是
的意思。
如果是body,说明这儿是一串json对象,他必须用@RequestBody来获取,如果它
是用@RequestBody来接收,说明这个变量是一串json对象,接口描述这儿要用body
,下面是实际接收的一个描述,接收的时候它是什么类型就要用什么样的注解来接收,上面只是对它的一个描述。
这个就是它的一个使用,
。