这里先介绍Swagger有什么好处:
我们开发的接口API需要整个团队沟通和交流,以前我们是做一个文档然后整个团队去公用一个文档,不好处是不能实时更新,两个人同时在开发一个地方,但是不能做到同步,还要去改这个文档,严重耽误时间,随着时间推移,开发员苦不堪言,Swagger诞生了。
Swagger是一个规范化和完整的框架,用户生成、描述、调用和可视化RESTful风格的WEb服务。Swagger目标是做到API同步,Swagger让部署和使用功能强大API从未如此简单。
前言说的差不多说说SpringBootSwagger
1. 新建maven java project;
新建一个maven java project取名为:spring-boot-Swagger
2.在pom.xml添加依赖,主要是springfox-swagger2和springfox-swagger-ui这里使用的是2.2.2版本的的:
```
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.2.2</version>
</dependency>
```
3. 主要还是配置文件,编写一个swagger配置类,com.kfit.config.SwaggerConfig:
4.编写测试类com.neil.controller
Swagger2默认将所有的Controller中的RequestMapping方法都会暴露,然而在实际开发中,我们并不一定需要把所有API都提现在文档中查看,这种情况下,使用注解@ApiIgnore来解决,如果应用在Controller范围上,则当前Controller中的所有方法都会被忽略,如果应用在方法上,则对应用的方法忽略暴露API。
注解@ApiOperation和@ApiParam可以理解为API说明,多动手尝试就很容易理解了。
这里我讲述一下Swagger一些注解用处
先说一下我最先接触一个注解
@ApiModelProperty(hidden=true)代表Swagger隐藏不显示该字段
@PathVariable是用来获得请求url中的动态参数的
@RequestParam用来获得静态的URL请求入参用来获得静态的URL请求入参
1.GET console/devices/{#DEVICEID}/base?page=0&pageSize=10HTTP/1.1
2.这里#号要注意这里带上#那么@RequestParam里面也要必须带上#前后面中{}括号也不要带否则接收时候也会带上中括号
springmvc中@Controller和@RestController的区别
一直使用springmvc的时候就记得返回string或者json的话就直接用@RestController。如果想要页面跳转的话,就使用@Controller。一开始就有个疑问,就是我想在一个类中既能返回string或者json又能进行页面跳转怎么办。现在终于明白.简单说来就是:
@RestController = @Controller + @ResponseBody。
所以,以后定义controller的时候,可以直接使用@Controller,如果需要返回json可以直接在方法中添加@ResponseBody即可。
####指导qq:179061434