文章目录

  • 前言
  • pom.xml
  • SwaggerConfig
  • 接口中的配置
  • 番外

前言

swagger2 是什么,我这里就不说了,就是一个简单的接口文档,方便前后端联调。

其实之前没有想要到要使用swagger 的。因为我之前用的是YAPI ,不过这个是一个单独的工具。并且是开源的,整个团队协作使用起来非常方便。但是这里我们坐个人项目的话,就使用比较简单的swagger2了,我们在在springboot中使用swagger2 比较简单。

pom.xml

一切从配置开始的,我们映入swagger2 ,需要先引入依赖。如下:

<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.9.2</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.9.2</version></dependency>

SwaggerConfig

引入依赖后,我们就需要来写一个配置,我们在config 目录下创建一个SwaggerConfig类。内容如下:


@Configuration
@EnableSwagger2
public class SwaggerConfig {@Beanpublic Docket createRestApi(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.quellan.zlflovemm.controller")).paths(PathSelectors.any()).build();}private ApiInfo apiInfo(){return  new ApiInfoBuilder().title("Spring Boot中使用Swagger2构建RESTful APIs").description("SpringBoot整合Swagger,详细信息......").version("1.0.0").build();}
}

可以看到代码不复杂,就是创建了一个Docket 的bean。唯一需要注意的是注意配置好接口的目录。

其实到了这一步,我们就已经配置好了。我们启动项目测试一下。启动项目后,在浏览器上输入:

http://localhost:9090/zlflovemm/swagger-ui.html

可以看到我们之前写的接口已经在界面上显示出来了。不过现在的接口还惨不忍睹,你们自己实践的时候可以看看,需要我们再做些工作。到这里有些朋友可能会出现问题,发现没有出现这种界面,可能是配置不对,要不就是你们的配置了拦截器。我自己开始弄的时候就出现了页面访问不了的情况。然后发现是我们上篇文章番外中设置的拦截器导致的。我们可以先把注释掉。

接口中的配置

我们就用用户类的接口来写吧,毕竟还是写文档还是很麻烦的。写好后的代码如下:

@Slf4j
@RestController
@RequestMapping("/user")
@Api(tags = "用户管理相关接口")
public class UserController {@Autowiredprivate UserService userService;@ApiOperation("获取用户列表")@RequestMapping(value = "/list")public List<UserEntry> findUserList(){return userService.findUserList();}@ApiOperation("新增用户信息")@ApiImplicitParams({@ApiImplicitParam(name = "userName",value = "用户名",defaultValue = "zlf"),@ApiImplicitParam(name="password",value = "密码",defaultValue = "zlf"),@ApiImplicitParam(name = "email",value = "邮箱",defaultValue = "11@qq.com")})@RequestMapping(value = "/add",method = RequestMethod.GET)public String addUser(@RequestParam(value = "userName")String uaserName,@RequestParam(value = "password")String password,@RequestParam(value = "email")String email){int falg=userService.addUser(uaserName,password,email);if(falg>0){return "success";}return "error";}@ApiOperation("删除用户信息")@ApiImplicitParam(name = "id",value = "1",defaultValue = "1")@RequestMapping(value = "/delete",method = RequestMethod.GET)public String deleteUser(@RequestParam(value = "id")int id){if(userService.deleteUser(id)>0){return "success";}return "error";}@ApiOperation("获取用户列表2")@RequestMapping(value = "/list2",method = RequestMethod.GET)public List<UserEntry> findUserList2(){return userService.findUserList2();}@ApiOperation("新增用户信息2")@ApiImplicitParams({@ApiImplicitParam(name = "userName",value = "用户名",defaultValue = "zlf"),@ApiImplicitParam(name="password",value = "密码",defaultValue = "zlf"),@ApiImplicitParam(name = "email",value = "邮箱",defaultValue = "11@qq.com")})@RequestMapping(value = "/add2",method = RequestMethod.GET)public String addUser2(@RequestParam(value = "userName")String uaserName,@RequestParam(value = "password")String password,@RequestParam(value = "email")String email){int falg= userService.addUser2(uaserName,password,email);if(falg>0){return "success";}return "error";}@ApiOperation("删除用户信息2")@ApiImplicitParam(name = "id",value = "1",defaultValue = "1")@RequestMapping(value = "/delete2",method = RequestMethod.GET)public String deleteUser2(@RequestParam(value = "id")int id){if(userService.deleteUser2(id)>0){return "success";}return "error";}
}

在类上加入@Api(tags = “用户管理相关接口”) 表示这个类的作用。
在单个接口上,我们通过@ApiOperation,@ApiImplicitParams,@ApiImplicitParam来写备注了。
@ApiOperation 用来注明接口的功能。
@ApiImplicitParam 用来设置接口有单个参数的,
@ApiImplicitParams 用来设置接口多个参数的,怎么使用,代码中有样例。

接下来,我们来看下界面上。


可以看到,界面上已经可以显示出来了,这比我们刚刚开始没有配置一些注释要友好了很多,点击 execute 可以调试接口,还是可以满足基本需求的。但是大家也同样发现了,swagger 对我们的代码侵入是非常严重的,我们项目中本来代码就很多,我们还要加上这么多的注解代码,对我们写代码是很不友好的。

番外

到此为止,springboot 配置swagger2 就已经实现好了,整体上比较简单,这些希望对大家有帮助。

好了,就说这么多啦
代码上传到github:
https://github.com/QuellanAn/zlflovemm

后续加油♡

欢迎大家关注个人公众号 “程序员爱酸奶”

分享各种学习资料,包含java,linux,大数据等。资料包含视频文档以及源码,同时分享本人及投递的优质技术博文。

如果大家喜欢记得关注和分享哟❤

十、Spring boot 简单优雅的整合 Swagger2相关推荐

  1. Spring Boot 如何优雅的校验参数?

    今天介绍一下 Spring Boot 如何优雅的整合JSR-303进行参数校验,说到参数校验可能都用过,但网上的教程大多是简单的介绍,所以我们今天详细看来一下 . 什么是 JSR-303? JSR-3 ...

  2. spring boot 1.5.4 整合redis、拦截器、过滤器、监听器、静态资源配置(十六)

    上一篇:spring boot 1.5.4 整合webService(十五) 1      Spring Boot整合redis和缓存 Spring Boot中除了对常用的关系型数据库提供了优秀的自动 ...

  3. spring boot 1.5.4 整合 mybatis(十二)

    上一篇:spring boot 1.5.4 整合log4j2(十一) Spring Boot集成Mybatis 更多更详细的配置参考文件:application.properties和<Spri ...

  4. Spring Boot (16)---优雅的入门篇

    Spring Boot (16)---优雅的入门篇 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做技术储备. ...

  5. Spring Boot Cache使用与整合

    参考: 史上最全的Spring Boot Cache使用与整合 Spring Cache扩展:注解失效时间+主动刷新缓存 项目地址 使用本地Caffeine缓存 引入依赖包 <dependenc ...

  6. mybatis 配置_配置Mybatis在Spring Boot工程中的整合

    配置Mybatis在Spring Boot工程中的整合包,设置mybatis的实体类别名,输出执行sql语句配置项. 分析: 添加启动器依赖: 配置Mybatis:实体类别名包,日志,映射文件等: 配 ...

  7. 响应式久草编程基础教程:久草Spring Boot 与 Lettuce 在线整合

    本文主要介绍响应式编程访问 Redis,以及 Spring Boot 与 Lettuce 的整合使用. Lettuce 是可扩展性线程安全的 Redis 客户端,用于同步.异步和响应式使用.如果多个线 ...

  8. Spring Boot 1.5.8集成Swagger2 + YApi —— Swagger常用注解说明

    前言 受新型冠状病毒的影响,在家像猪一样不是睡就是吃,闲着就学着用下Swagger和YApi,特将这几天的学习成果写成了这系列的文章,希望能对大家有所帮助.武汉加油,中国加油! Spring Boot ...

  9. RabbitMQ(四):RabbitMQ与Spring Boot简单整合 快速尝鲜版

    RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用.Spring Boot的兴起,极大地简化了Spring的开发,本文将使用Spring Boot与RabbitM ...

最新文章

  1. Dubbo+zookeeper使用方法以及注意事项
  2. 代码操作Oracle
  3. Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )
  4. Android - toolbar navigation 样式
  5. 红帽虚拟化RHEV-架构简介
  6. (1)c语言学习总结之从关键字到循环结构
  7. FFmpeg发送流媒体的命令(UDP,RTP,RTMP)
  8. python爬虫东方财富网的股票资金流(以平安银行为例)
  9. Dev-cpp5.4.0安装及下载
  10. 监督计算机控制系统的应用,计算机智能控制系统的应用类型
  11. Latex PDF文档目录乱码
  12. Win10 网络连接处空白什么都没有,电脑无法上网
  13. 微软公司软件测试工程师,【其它微软中国(Microsoft)工资】软件测试工程师待遇-看准网...
  14. 科研ABC - 数据图表的绘制
  15. 服务器编译spark3.3.1源码支持CDH6.3.2
  16. 时间戳与日期相互转换
  17. 近视200度能学计算机吗,近视200度能不能恢复 近视200度该怎么办
  18. SAP 成本结算中 费用分割的理解和用法
  19. GPS失锁和丢包区别
  20. Centos7 开启图形界面

热门文章

  1. mpc使用介绍(四)
  2. spice整体框架理解
  3. 禁止viewpager左右滑动
  4. Flink之Sink
  5. matlab调整legend大小,[转载]【matlab】MATLAB中调整legend的大小位置
  6. 使用WebAudio实现音频音波可视化
  7. Android Studio 制作微信界面 下
  8. 抓包工具 fiddler 的安装和使用详解
  9. Java8环境下使用restTemplate单/多线程下载大文件和小文件
  10. Data Source=WORKHARD;Initial Catalog=Membership;Integrated Security=True