簡介
Swagger UI允許任何人(無論您是開發團隊還是使用者)都可以視覺化API資源並與之互動,而無需任何實現邏輯。它是根據您的OpenAPI(以前稱為Swagger)規範自動生成的,具有視覺化文件,可簡化後端實現和客戶端使用,號稱世界上最流行的API框架。
特點
- 人性化 允許最終開發人員輕鬆地進行互動,並嘗試API公開的每個操作,以方便使用
- 通過完整的原始碼訪問方式以所需方式設定和調整Swagger UI。
- 所有瀏覽器支援 Swagger UI 在所有主要瀏覽器中均可使用。
- 易於瀏覽 歸類整齊的文件可快速查詢並使用資源和端點。
使用SwaggerUI
-
開啟idea 新建boot專案 並編寫controller測試是否成功
-
配置swaager配置檔案
@Configuration
@EnableSwagger2 //開啟swagger2
public class SwaggerConfig {}
瀏覽器開啟 http://localhost/swagger-ui.html
Swagger配置掃描介面
/**
* @author zc
* @explain
* @date 2020/4/8 14:31
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.pay.controller"))//掃描地址
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("系統")
.description("系統api文件")
.version("1.0")
.build();
}
再次開啟http://localhost/swagger-ui.html即可看見全部的介面
常用註解
/**
@Api:修飾整個類,描述Controller的作用
@ApiOperation:描述一個類的一個方法,或者說一個介面
@ApiParam:單個引數描述
@ApiModel:用物件來接收引數
@ApiProperty:用物件接收引數時,描述物件的一個欄位
@ApiResponse:HTTP響應其中1個描述
@ApiResponses:HTTP響應整體描述
@ApiIgnore:使用該註解忽略這個API
@ApiError :發生錯誤返回的資訊
@ApiImplicitParam:一個請求引數
@ApiImplicitParams:多個請求引數
*/
例項
@PostMapping("/studentSave")
@ApiOperation(value = "儲存學生資訊")
@ApiResponses({
@ApiResponse(code = 0, message = "儲存成功"),
@ApiResponse(code = 1, message = "儲存失敗")
})
public Result save(
@ApiParam(value = "儲存學生引數", example = "")
@RequestBody Student student) {
return new FrontResult(Result.SUCCEED, "儲存成功", studentDao.save(student));
}
@Data
@ApiModel(description = "學生資訊儲存請求物件")
public class Student {
@ApiModelProperty(value = "學生編號")
private Long id;
@ApiModelProperty(value = "姓名", required = true,position = 1)
private String name;
@ApiModelProperty(value = "性別", required = true,position = 2)
private String sex;
@ApiModelProperty(value = "生日", required = true,position = 3)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp birthday;
}
美化swaager
- 新增依賴
com.github.xiaoymin
swagger-bootstrap-ui
1.9.6
- 開啟連結 http://localhost/doc.html