Guns第十节Swagger的讲解

阅读更多

Guns第十节Swagger的讲解_第1张图片

Guns第十节Swagger的讲解_第2张图片

Guns第十节Swagger的讲解_第3张图片

Guns第十节Swagger的讲解_第4张图片

还可以进行一些测试,比如说模拟一些数据。

对这个接口进行一个联调Guns第十节Swagger的讲解_第5张图片

Guns第十节Swagger的讲解_第6张图片

Guns第十节Swagger的讲解_第7张图片

Guns第十节Swagger的讲解_第8张图片

把controller里面的方法加上一些这样的注解的时候,它就会把这个controller生产到swagger ui管理平台上Guns第十节Swagger的讲解_第9张图片,

,大家可以看到Guns第十节Swagger的讲解_第10张图片,因为它标记了这个,然后swagger,就会扫描包含这个注解的方法,

第二种扫描是按包的形式,假如说我要扫描整个controller层的所有的控制器,我们就以包扫描的形式,可以扫描一下看有什么效果。大家可以看到这个包下的所有的控制器Guns第十节Swagger的讲解_第11张图片,都扫描到了Guns第十节Swagger的讲解_第12张图片

Guns第十节Swagger的讲解_第13张图片,大家可能看到这些重复的, 这些接口没有标记是什么类型的。它会把所有的类型都包含上,没有这个接口,没有特定的一个类型,所以它会把接口所有可能的方法都列出来,Guns第十节Swagger的讲解_第14张图片,比如说某一个接口,我们这样写,它就会只显示post这个接口

Guns第十节Swagger的讲解_第15张图片

如果不写这个的话,它就会所有的都显示出来。Guns第十节Swagger的讲解_第16张图片

然后我们回到原来的样子,

让他简捷一点Guns第十节Swagger的讲解_第17张图片

重启一下.

这个配置之后,需要加一个注解,加这个注解就开启swagger了。,

还有一个是,这个东西在这配置的Guns第十节Swagger的讲解_第18张图片,我这儿有个判断,还有这个里面也有一个判断,Guns第十节Swagger的讲解_第19张图片

当这里为true的时候,这些代码才会生效Guns第十节Swagger的讲解_第20张图片,这个是spring boot 的条件化装配,我这里加了一个开关,swagger-open,当为true的时候才开启swaggerGuns第十节Swagger的讲解_第21张图片,如果为false就不配置,这些就不会显示Guns第十节Swagger的讲解_第22张图片,同样的Guns第十节Swagger的讲解_第23张图片

Guns第十节Swagger的讲解_第24张图片这个配置也是一个根据开关读取,,它会获取当前开关是否开启,是否是true,是否打开了,如果打开了才配置这两个东西,这个为什么要配,因为swagger它有些静态资源,需要做一下处理,大家可以看到这个页面,这些都不是写的Guns第十节Swagger的讲解_第25张图片,都是在我们的jar包里面引入的,Guns第十节Swagger的讲解_第26张图片,我们要显示这个jar包里面的html的话,我们需要做一个映射,,gosspringmvc,当我们访问,告诉我这个资源,它对应的在哪个classpath路径里面,哪个目录下,要是不告诉springmvc的话,她会直接走一个,因为springmvc不能直接获取这些静态的资源,swagger里面用到的这些静态资源都在jar包下,如果你要访问,这个的话,我们相当于请求的是我们springmvc的DispatecherServlet,它会尝试着找controller,但是没有这样的controller,因为我们走的是一个静态资源,所以告诉springmvc,我们这样子请求的时候,我们请求的是某一个路径下的静态资源。所以说要做一个映射,要不然它走的话,我们访问,它应该走的是一个服务器,而我们没有这样的控制器,它作为静态资源处理,所以说加一个这样的映射。加映射之后,我们访问这样的路径Guns第十节Swagger的讲解_第27张图片,走这个的时候我们才可以访问这个swagger-ui.html,相应的为什么要用web.jar呢,web.jar就是swagger里面其他的一些静态资源,swagger是主页。

swagger集成之后,怎么让接口显示出来.,对某一个接口加上注解,那么就可以显示到我们的页面里面。下面我们看一下CodeController,通过Guns第十节Swagger的讲解_第28张图片

下面对swagger的用法做一个介绍,首先说这个Guns第十节Swagger的讲解_第29张图片作用的方法上之后可以联想到这个配置Guns第十节Swagger的讲解_第30张图片,这个配置是扫描apiOperation这个注解,所以加上它之后,这个东西就会显示在项目文档上。

它的参数response就是描述接口的返回值,返回值是一个什么类,大家可以看到response,这个里面应该是个UseDto.class,这个里面应该包含这个字段Guns第十节Swagger的讲解_第31张图片, 大家都可以看到这些字段都列在这里面Guns第十节Swagger的讲解_第32张图片用在方法上包含一组参数说明,这个参数说明是一个数组,这个数组里面包含

主要用来描述请求参数Guns第十节Swagger的讲解_第33张图片

value,描述这个接口是不是为空的时候请求,是否是必须的,

Guns第十节Swagger的讲解_第34张图片

parameterType他描述的是一个请求的类型,

header--->请求头参数的获取,

Guns第十节Swagger的讲解_第35张图片

在接口里面写这样的变量,,用PathVariable接收。

Guns第十节Swagger的讲解_第36张图片

这个东西跟我们的接收类型都是一一对应的。描述的是,接收的时候用接收,.

假如我们需要描述一下xxxGuns第十节Swagger的讲解_第37张图片,我们应该用来描述,Guns第十节Swagger的讲解_第38张图片这里是通过RestAPI的方式获取的这个变量,然后这个参数描述的时候,它的参数是path,path就是的意思。

如果是body,说明这儿是一串json对象,他必须用@RequestBody来获取,如果它是用@RequestBody来接收,说明这个变量是一串json对象,接口描述这儿要用bodyGuns第十节Swagger的讲解_第39张图片,下面是实际接收的一个描述,接收的时候它是什么类型就要用什么样的注解来接收,上面只是对它的一个描述。

这个就是它的一个使用,Guns第十节Swagger的讲解_第40张图片

Guns第十节Swagger的讲解_第41张图片

你可能感兴趣的:(Guns第十节Swagger的讲解)