SpringBoot框架构建Swagger在线文档

这里先介绍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说明,多动手尝试就很容易理解了。


com.neil.controller


这里我讲述一下Swagger一些注解用处

先说一下我最先接触一个注解

@ApiModelProperty(hidden=true)代表Swagger隐藏不显示该字段


可以看见那个uuserid隐藏了


@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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容