實戰(zhàn)分布式醫(yī)療掛號系統(tǒng)之整合Swagger2到通用模塊
文章導(dǎo)讀
本系列文章介紹從0開始搭建一個基于分布式的醫(yī)療掛號系統(tǒng)。本次四篇文章完成了醫(yī)院設(shè)置微服務(wù)模塊的后端接口,為了方便開發(fā),對接口的返回結(jié)果、全局異常、全局日志進行了統(tǒng)一處理。 同時,為了方便進行訪問測試,還整合了Swagger2工具,這些通用的模塊中,除了全局日志被放在醫(yī)院設(shè)置微服務(wù)模塊的配置資源中,其余都統(tǒng)一被抽取在common模塊中。具體實現(xiàn)可參考下面文章:
醫(yī)院設(shè)置微服務(wù) | 接口開發(fā)
通用模塊 | 統(tǒng)一返回結(jié)果、統(tǒng)一異常處理、統(tǒng)一日志處理
項目已開源至 https://github.com/Guoqianliang/yygh_parent
在使用REST風(fēng)格進行接口的開發(fā)測試時,post請求無法使用瀏覽器直接進行訪問測試,目前流行的解決方案是使用Swagger2。Swagger2是一個API接口文檔,通過Swagger2可以方便各種提交方式的接口測試。
通過Swagger2,我們可以看到接口名稱、請求方法、傳遞參數(shù)、返回信息等。
通用模塊整合swagger2步驟
本項目中,眾多的微服務(wù)都需要整合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配置信息中分別創(chuàng)建了webApi分組和adminApi分組的Bean。
/**
* Swagger2配置信息
*/
@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("網(wǎng)站-API文檔")
.description("本文檔描述了網(wǎng)站微服務(wù)接口定義")
.version("1.0")
.contact(new Contact("gql", "http://gql.com", "guoqianliang@foxmail.com"))
.build();
}
private ApiInfo adminApiInfo() {
return new ApiInfoBuilder()
.title("后臺管理系統(tǒng)-API文檔")
.description("本文檔描述了后臺管理系統(tǒng)微服務(wù)接口定義")
.version("1.0")
.contact(new Contact("gql", "http://gql.com", "guoqianliang@foxmail.com"))
.build();
}
}
3.啟動類添加包掃描
Swagger2的配置類寫好了,現(xiàn)在需要在service_host模塊使用配置類。由于二者不在同一個項目中,所以需要在service_host模塊的父模塊的pom中引入service_util。
而兩者包名不同,還需要額外在啟動類上添加包掃描。

測試
項目啟動后訪問:http://localhost:8201/swagger-ui.html ,可以看到項目中接口的信息:

在Controller中添加下面幾個簡單的Api注解,可以將swagger中的一些信息定義為中文:

如果需要測試接口,我們只需要點擊接口下方的Try it out 按鈕:

點擊按鈕后即可,看到接口的一系列返回信息:

swagger常用注解
| 注解 | 說明 |
|---|---|
| @Api | 修飾整個類,描述Controller的作用 |
| @ApiOperation | 描述一個類的一個方法,或者說一個接口 |
| @ApiParam | 單個參數(shù)描述 |
| @ApiModel | 用對象來接收參數(shù) |
| @ApiModelProperty | 用對象接收參數(shù)時,描述對象的一個字段 |
| @ApiImplicitParam | 一個請求參數(shù) |
| @ApiImplicitParams | 多個請求參數(shù) |
以上就是實戰(zhàn)分布式醫(yī)療掛號系統(tǒng)之整合Swagger2到通用模塊的詳細(xì)內(nèi)容,更多關(guān)于分布式醫(yī)療掛號整合Swagger2模塊的資料請關(guān)注腳本之家其它相關(guān)文章!
- 分布式醫(yī)療掛號系統(tǒng)SpringCache與Redis為數(shù)據(jù)字典添加緩存
- 分布式醫(yī)療掛號系統(tǒng)EasyExcel導(dǎo)入導(dǎo)出數(shù)據(jù)字典的使用
- 分布式開發(fā)醫(yī)療掛號系統(tǒng)數(shù)據(jù)字典模塊前后端實現(xiàn)
- 實戰(zhàn)分布式醫(yī)療掛號通用模塊統(tǒng)一返回結(jié)果異常日志處理
- 實戰(zhàn)分布式醫(yī)療掛號系統(tǒng)之設(shè)置微服務(wù)接口開發(fā)模塊
- 實戰(zhàn)分布式醫(yī)療掛號系統(tǒng)之設(shè)置微服務(wù)搭建醫(yī)院模塊
- 實戰(zhàn)分布式醫(yī)療掛號系統(tǒng)開發(fā)醫(yī)院科室及排班的接口
相關(guān)文章
springboot項目配置logback-spring.xml實現(xiàn)按日期歸檔日志的方法
本文主要介紹了springboot項目配置logback-spring.xml實現(xiàn)按日期歸檔日志的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
Spring?Boot如何在加載bean時優(yōu)先選擇我
這篇文章主要介紹了Spring?Boot如何在加載bean時優(yōu)先選擇我,在?Spring?Boot?應(yīng)用程序中,我們可以采取三種方式實現(xiàn)自己的?bean?優(yōu)先加載,本文通過實例代碼給大家詳細(xì)講解,需要的朋友可以參考下2023-03-03
關(guān)于設(shè)置Mybatis打印調(diào)試sql的兩種方式
這篇文章主要介紹了關(guān)于設(shè)置Mybatis打印調(diào)試sql的兩種方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
Spring Security中successHandler和failureHandler使用方式
這篇文章主要介紹了Spring Security中successHandler和failureHandler使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08

