实战分布式医疗挂号系统之整合Swagger2到通用模块
目录
- 通用模块整合swagger2步骤
- 2.配置Swagger2
- 3.启动类添加包扫描
- 测试
- swagger常用注解
本系列文章介绍从0开始搭建一个基于分布式的医疗挂号系统。本次四篇文章完成了
医院设置微服务模块
的后端接口,为了方便开发,对接口的返回结果
、全局异常
、全局日志
进行了统一处理。 同时,为了方便进行访问测试,还整合了Swagger2工具
,这些通用的模块中,除了全局日志
被放在医院设置微服务模块的配置资源中,其余都统一被抽取在common模块中。具体实现可参考下面文章:医院设置微服务 | 模块搭建医院设置微服务 | 接口开发通用模块 | 整合Swagger2通用模块 | 统一返回结果、统一异常处理、统一日志处理 作者:Hudie
微信公众号/CSDN博客:编程一只蝶
公众号文章会比博客早1到2天,欢迎关注,每天开心~
项目已开源至gitee:https://gitee.com/guo-qianliang/yygh_parent
项目已开源至github:https://github.com/Guoqianliang/yygh_parent
【实战分布式医疗挂号系统之整合Swagger2到通用模块】
在使用REST风格进行接口的开发测试时,post请求无法使用浏览器直接进行访问测试,目前流行的解决方案是使用Swagger2。Swagger2是一个API接口文档,通过Swagger2可以方便各种提交方式的接口测试。
通过Swagger2,我们可以看到接口名称、请求方法、传递参数、返回信息等。
通用模块整合swagger2步骤 本项目中,众多的微服务都需要整合Swagger2,所以我将其依赖引入在了通用的
common父模块
中,配置在common_util
模块中。1.引入swagger依赖
io.springfox springfox-swagger2io.springfox springfox-swagger-ui
2.配置Swagger2 如下的Swagger2配置信息中分别创建了webApi分组和adminApi分组的Bean。
/** * Swagger2配置信息 */@Configuration@EnableSwagger2public class Swagger2Config {@Beanpublic Docket webApiConfig() {return new Docket(DocumentationType.SWAGGER_2).groupName("webApi").apiInfo(webApiInfo()).select()//只显示api路径下的页面.paths(Predicates.and(PathSelectors.regex("/api/.*"))).build(); }@Beanpublic Docket adminApiConfig() {return new Docket(DocumentationType.SWAGGER_2).groupName("adminApi").apiInfo(adminApiInfo()).select()//只显示admin路径下的页面.paths(Predicates.and(PathSelectors.regex("/admin/.*"))).build(); }private ApiInfo webApiInfo() {return new ApiInfoBuilder().title("网站-API文档").description("本文档描述了网站微服务接口定义").version("1.0").contact(new Contact("gql", "http://gql.com", "guoqianliang@foxmail.com")).build(); }private ApiInfo adminApiInfo() {return new ApiInfoBuilder().title("后台管理系统-API文档").description("本文档描述了后台管理系统微服务接口定义").version("1.0").contact(new Contact("gql", "http://gql.com", "guoqianliang@foxmail.com")).build(); }}
3.启动类添加包扫描 Swagger2的配置类写好了,现在需要在service_host模块使用配置类。由于二者不在同一个项目中,所以需要在service_host模块的父模块的pom中引入
service_util
。而两者包名不同,还需要额外在启动类上添加包扫描。文章图片
测试 项目启动后访问:http://localhost:8201/swagger-ui.html ,可以看到项目中接口的信息:
文章图片
在Controller中添加下面几个简单的Api注解,可以将swagger中的一些信息定义为中文:
文章图片
如果需要测试接口,我们只需要点击接口下方的
Try it out
按钮:文章图片
点击按钮后即可,看到接口的一系列返回信息:
文章图片
swagger常用注解
注解 | 说明 |
---|---|
@Api | 修饰整个类,描述Controller的作用 |
@ApiOperation | 描述一个类的一个方法,或者说一个接口 |
@ApiParam | 单个参数描述 |
@ApiModel | 用对象来接收参数 |
@ApiModelProperty | 用对象接收参数时,描述对象的一个字段 |
@ApiImplicitParam | 一个请求参数 |
@ApiImplicitParams | 多个请求参数 |
推荐阅读
- 实战分布式医疗挂号系统之设置微服务接口开发模块
- 实战分布式医疗挂号系统之搭建医院设置微服务模块
- OpenHarmony 3.1 Beta版本关键特性解析——分布式DeviceProfile
- 医疗健康行业移动互联网app开发解决方案
- 小白学phoneGap《构建跨平台APP(phoneGap移动应用实战》连载三(通过实例来体验生命周期))
- AI-快车道NLP|细粒度情感分析实战
- Android实战简易教程-第七十二枪(PopupWindow浮动窗)
- Java毕业设计项目实战篇|Java项目:宿舍管理系统(java+SpringBoot+Thymeleaf+html+layui+mysql)
- Java毕业设计项目实战篇|Java项目:企业人事系统(java+SpringBoot+Vue+ElementUI+maven+mysql)
- Java毕业设计项目实战篇|Java项目:图书管理系统(java+SpringBoot+jpa+html+swagger+maven+mysql)