閱讀本文前资溃,需要提前閱讀前置內(nèi)容:
一武翎、Midway 增刪改查
二、Midway 增刪改查的封裝及工具類(lèi)
三溶锭、Midway 接口安全認(rèn)證
四宝恶、Midway 集成 Swagger 以及支持JWT bearer
五、Midway 中環(huán)境變量的使用
Swagger是一個(gè)集成在系統(tǒng)內(nèi)部趴捅,能夠通過(guò)裝飾類(lèi)描述接口文檔的工具垫毙,可以方便的測(cè)試接口
安裝組件
>npm install @midwayjs/swagger@3 --save
>npm install swagger-ui-dist --save
注冊(cè)組件
// src/configuration.ts
import * as swagger from '@midwayjs/swagger';
@Configuration({
imports: [
swagger,
// ...
],
})
export class ContainerLifeCycle {
// ...
}
驗(yàn)證
Swagger UI 頁(yè)面
訪(fǎng)問(wèn):http://127.0.0.1:7001/swagger-ui/index.html
測(cè)試接口
驗(yàn)證接口,提示缺少憑證
拱绑,需要Swagger支持bearer
驗(yàn)證
添加bearer
支持
- Swagger支持bearer驗(yàn)證综芥,添加配置;
// src/config/config.default.ts
swagger: {
auth: {
authType: 'bearer',
},
},
- 在對(duì)應(yīng)Controller中添加注解
@ApiBearerAuth()
猎拨;
// src/controller/user.controller.ts
@ApiBearerAuth()
@Controller('/api/user')
export class UserController extends BaseController<User> {
// ...
}
-
再訪(fǎng)問(wèn)Swagger膀藐,就出現(xiàn)了Authorize按鈕;
-
使用登陸接口红省,獲取accessToken额各,進(jìn)行認(rèn)證,便可以訪(fǎng)問(wèn)相關(guān)接口了类腮;
Swagger常用裝飾類(lèi)
-
@ApiTags()
通常用于Controller
臊泰,將其分類(lèi)標(biāo)記; -
@ApiResponse()
用于標(biāo)注API的返回值; -
@ApiProperty()
用于標(biāo)注返回DTO缸逃、VO针饥,實(shí)體類(lèi)的屬性;
調(diào)整相關(guān)代碼
common.controller.ts
需频、user.controller.ts
丁眼、user.ts
、CommonDTO.ts
昭殉、CommonVO.ts
苞七、BaseEntity.ts
;
關(guān)于Swagger的詳細(xì)使用文檔挪丢,見(jiàn):http://www.midwayjs.org/docs/extensions/swagger
版權(quán)所有蹂风,轉(zhuǎn)載請(qǐng)注明出處 [碼道功成]