閱讀本文前,需要提前閱讀前置內(nèi)容:
一、Midway 增刪改查
二、Midway 增刪改查的封裝及工具類
三、Midway 接口安全認(rèn)證
四、Midway 集成 Swagger 以及支持JWT bearer
五、Midway 中環(huán)境變量的使用
Swagger是一個(gè)集成在系統(tǒng)內(nèi)部,能夠通過(guò)裝飾類描述接口文檔的工具,可以方便的測(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è)面
訪問(wèn):http://127.0.0.1:7001/swagger-ui/index.html

Swagger UI
測(cè)試接口
驗(yàn)證接口,提示缺少憑證,需要Swagger支持bearer驗(yàn)證

測(cè)試接口
添加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> {
// ...
}
-
再訪問(wèn)Swagger,就出現(xiàn)了Authorize按鈕;
支持認(rèn)證 -
使用登陸接口,獲取accessToken,進(jìn)行認(rèn)證,便可以訪問(wèn)相關(guān)接口了;
獲取Token
設(shè)置Token
測(cè)試接口
Swagger常用裝飾類
-
@ApiTags()通常用于Controller,將其分類標(biāo)記; -
@ApiResponse()用于標(biāo)注API的返回值; -
@ApiProperty()用于標(biāo)注返回DTO、VO,實(shí)體類的屬性;
調(diào)整相關(guān)代碼
common.controller.ts、user.controller.ts、user.ts、CommonDTO.ts、CommonVO.ts、BaseEntity.ts;

調(diào)整配置

添加注釋
關(guān)于Swagger的詳細(xì)使用文檔,見(jiàn):http://www.midwayjs.org/docs/extensions/swagger
版權(quán)所有,轉(zhuǎn)載請(qǐng)注明出處 [碼道功成]



