SpringBoot專案中利用Swagger搭建REST API
- 一、簡述
- 二、pom.xml中匯入Swagger的依賴
- 三、創建Swagger的配置類
- 四、測驗Web介面
- 五、訪問swagger-ui.html頁面
一、簡述
開發前后端分離架構的專案,往往除錯后端Web介面需要用到POSTMAN工具,雖然POSTMAN工具的功能非常強大,但是請求引數很多的情況下,我們手寫這些引數和資料還是非常麻煩的,因此我們需要一個除錯后端Web介面更加簡便的方法,恰好Swagger提供了RESTAPI呼叫方式,我們不需要借助任何工具的情況下,訪問Swagger頁面,就可以對Web介面進行呼叫和除錯,這種除錯方式的效率要遠超POSTMAN軟體,
二、pom.xml中匯入Swagger的依賴
<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>
三、創建Swagger的配置類
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
Docket docket = new Docket(DocumentationType.SWAGGER_2);
// ApiInfoBuilder 用于在Swagger界面上添加各種資訊
ApiInfoBuilder builder = new ApiInfoBuilder();
builder.title("EMOS在線辦公系統");
ApiInfo apiInfo = builder.build();
docket.apiInfo(apiInfo);
// ApiSelectorBuilder 用來設定哪些類中的方法會生成到REST API中
ApiSelectorBuilder selectorBuilder = docket.select();
selectorBuilder.paths(PathSelectors.any()); //所有包下的類
//使用@ApiOperation的方法會被提取到REST API中
selectorBuilder.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class));
docket = selectorBuilder.build();
/*
* 下面的陳述句是開啟對JWT的支持,當用戶用Swagger呼叫受JWT認證保護的方法,
* 必須要先提交引數(例如令牌)
*/
//存盤用戶必須提交的引數
List<ApiKey> apikey = new ArrayList();
//規定用戶需要輸入什么引數
apikey.add(new ApiKey("token", "token", "header"));
docket.securitySchemes(apikey);
//如果用戶JWT認證通過,則在Swagger中全域有效
AuthorizationScope scope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] scopeArray = {scope};
//存盤令牌和作用域
SecurityReference reference = new SecurityReference("token", scopeArray);
List refList = new ArrayList();
refList.add(reference);
SecurityContext context = SecurityContext.builder().securityReferences(refList).build();
List cxtList = new ArrayList();
cxtList.add(context);
docket.securityContexts(cxtList);
return docket;
}
}
四、測驗Web介面
package com.gaoyang.emos.wx.controller;
import com.gaoyang.emos.wx.common.util.ResponseResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/test")
@Api("測驗Web介面")
public class TestController {
@RequestMapping("testSwagger")
@ApiOperation("測驗Swagger配置")
public ResponseResult testSwagger(){
return ResponseResult.error(200,"OK");
}
}
五、訪問swagger-ui.html頁面
注意:還需要添加在啟動類中添加 @EnableSwagger2 注解,,否則會出線,頁面加載失敗情況!

啟動專案之后,訪問: http://localhost:8080/emos-wx-api/swagger-ui.html

點擊上圖中的test-controller 選擇一種請求方式

操作如下:

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/282907.html
標籤:其他
上一篇:微信小程式自定義組件開發圖文詳解
