iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >实战分布式医疗挂号系统之整合Swagger2到通用模块
  • 700
分享到

实战分布式医疗挂号系统之整合Swagger2到通用模块

2024-04-02 19:04:59 700人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录文章导读通用模块整合swagger2步骤1.引入swagger依赖2.配置Swagger23.启动类添加包扫描测试swagger常用注解文章导读 本系列文章介绍从0开始搭建一个基

文章导读

本系列文章介绍从0开始搭建一个基于分布式的医疗挂号系统。本次四篇文章完成了医院设置微服务模块的后端接口,为了方便开发,对接口的返回结果、全局异常、全局日志进行了统一处理。 同时,为了方便进行访问测试,还整合了Swagger2工具,这些通用的模块中,除了全局日志被放在医院设置微服务模块的配置资源中,其余都统一被抽取在common模块中。具体实现可参考下面文章:

医院设置微服务 | 模块搭建

医院设置微服务 | 接口开发

通用模块 | 统一返回结果、统一异常处理、统一日志处理

项目开源至  https://GitHub.com/Guoqianliang/yygh_parent

在使用REST风格进行接口的开发测试时,post请求无法使用浏览器直接进行访问测试,目前流行的解决方案是使用Swagger2。Swagger2是一个api接口文档,通过Swagger2可以方便各种提交方式的接口测试。

通过Swagger2,我们可以看到接口名称、请求方法、传递参数、返回信息等。

通用模块整合swagger2步骤

本项目中,众多的微服务都需要整合Swagger2,所以我将其依赖引入在了通用的common父模块中,配置在common_util模块中。

1.引入swagger依赖

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

2.配置Swagger2

如下的Swagger2配置信息中分别创建了webapi分组和adminApi分组的Bean。


@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket WEBApiConfig() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("webApi")
                .apiInfo(webApiInfo())
                .select()
                //只显示api路径下的页面
                .paths(Predicates.and(PathSelectors.regex("/api/.*")))
                .build();
    }
    @Bean
    public 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

而两者包名不同,还需要额外在启动类上添加包扫描。

引入swagger配置类

测试

项目启动后访问:http://localhost:8201/swagger-ui.html ,可以看到项目中接口的信息:

通过swagger查看后台API文档

在Controller中添加下面几个简单的Api注解,可以将swagger中的一些信息定义为中文:

通过swagger添加注解

如果需要测试接口,我们只需要点击接口下方的Try it out 按钮:

通过swagger测试方法

点击按钮后即可,看到接口的一系列返回信息:

通过swagger查看方法返回结果

swagger常用注解

注解说明
@Api修饰整个类,描述Controller的作用
@ApiOperation描述一个类的一个方法,或者说一个接口
@ApiParam单个参数描述
@ApiModel用对象来接收参数
@ApiModelProperty用对象接收参数时,描述对象的一个字段
@ApiImplicitParam一个请求参数
@ApiImplicitParams多个请求参数

以上就是实战分布式医疗挂号系统之整合Swagger2到通用模块的详细内容,更多关于分布式医疗挂号整合Swagger2模块的资料请关注编程网其它相关文章!

--结束END--

本文标题: 实战分布式医疗挂号系统之整合Swagger2到通用模块

本文链接: https://www.lsjlt.com/news/147156.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作