最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nest框架中集成使用Swagger示例說(shuō)明

 更新時(shí)間:2022年08月01日 08:36:40   作者:六號(hào)積極分子  
這篇文章主要為大家介紹了Nest框架中集成使用Swagger的示例說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

Swagger

Swagger 是一個(gè)能夠生成、描述、調(diào)用和可視化的 RESTful 風(fēng)格的 Web 服務(wù)。主要是對(duì) REST API 接口自動(dòng)生成接口說(shuō)明文檔。生成的接口文檔也是直接在線測(cè)試。即在可視化的Web 界面上直接輸入?yún)?shù)對(duì)應(yīng)的值就可以在線測(cè)試接口。

Nest 框架也提供了一個(gè)專門(mén)用于支持 Swagger 規(guī)范的模塊。

Nest 中使用 Swagger

安裝

首先需要安裝所需要的 swagger 包

 npm install --save @nestjs/swagger swagger-ui-express

初始化 Swagger

在 Nest 項(xiàng)目的 main.ts 文件中,使用 SwaggerModule 類初始化 Swagger

import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
async function bootstrap() {
    const options = new DocumentBuilder()
    .setTitle('Api example')
    .setDescription('The API description')
    .setVersion('1.0')
    .addTag('Api/V1')
    .build();
  const document = SwaggerModule.createDocument(app, options);
  SwaggerModule.setup('api', app, document);
}
  • DocumentBuilder : 先new 一個(gè) DocumentBuilder 實(shí)例,主要是為構(gòu)建符合 OpenApi規(guī)范的基礎(chǔ)文檔,從以上Demo中可以看到可以對(duì) Swagger 文檔設(shè)置標(biāo)題、描述、版本號(hào)、tag的相關(guān)屬性。
  • createDocument():用于創(chuàng)建文檔。該方法主要接收兩個(gè)參數(shù):一個(gè)是 app 應(yīng)用程序?qū)嵗?,一個(gè)是 Swagger 選項(xiàng)對(duì)象。

創(chuàng)建完文件之后,即可調(diào)用 setup 方法。

配置完之后,就可以在運(yùn)行項(xiàng)目,通過(guò)訪問(wèn) http://localhost:3000/api, 就可以打開(kāi) Swagger 的可視化界面,其中就會(huì)展示所有的接口列表。

接口中使用

所有的配置都已就位,接下來(lái)就是將每個(gè)接口都配置上 swagger ,以便接口能夠展示在可視化 web界面上。

首先需要引用可支持 Swagger 的模塊

import { ApiProperty } from '@nestjs/swagger';

在使用相關(guān)支持Swagger 的裝飾器方法,比如 @ApiProperty() 裝飾器注釋所有的屬性。

@ApiTags('user')
@Controller('api/v1/user')
export class UserController {
    @Post()
    @ApiCreatedResponse({
    description: 'The record has been successfully created.',
    type: User
    })
    async CreateUser(@Body() userDto:UserDto){
      // doing something
    }
}
export class UserDto {
    @ApiProperty()
    name: string;
    @ApiProperty()
    age: number
}

ApiTags :將控制器附加到特定的標(biāo)簽

@ApiResponse():自定義 Http 響應(yīng)

@ApiProperty() 為請(qǐng)求指定返回模型,創(chuàng)建 Dto 類并使用裝飾器注釋所有的屬性

這樣設(shè)置之后,運(yùn)行項(xiàng)目,訪問(wèn) swagger 可視化界面就可以看到界面,并且在界面上測(cè)試該接口。

參考資料:docs.nestjs.cn/9/recipes?i…

以上就是Nest框架中集成使用Swagger示例說(shuō)明的詳細(xì)內(nèi)容,更多關(guān)于Nest框架集成Swagger的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • typescript快速上手的基礎(chǔ)知識(shí)篇

    typescript快速上手的基礎(chǔ)知識(shí)篇

    靜態(tài)類型的typescript與傳統(tǒng)動(dòng)態(tài)弱類型語(yǔ)言javascript不同,在執(zhí)行前會(huì)先編譯成javascript,因?yàn)樗鼜?qiáng)大的type類型系統(tǒng)加持,能讓我們?cè)诰帉?xiě)代碼時(shí)增加更多嚴(yán)謹(jǐn)?shù)南拗?。注意,它并不是一門(mén)全新的語(yǔ)言,所以并沒(méi)有增加額外的學(xué)習(xí)成本
    2022-12-12
  • Three.js引入Cannon.js及使用示例詳解

    Three.js引入Cannon.js及使用示例詳解

    這篇文章主要為大家介紹了Three.js引入Cannon.js及使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • TypeScript類型級(jí)別和值級(jí)別示例詳解

    TypeScript類型級(jí)別和值級(jí)別示例詳解

    這篇文章主要為大家介紹了TypeScript類型級(jí)別和值級(jí)別示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Nest框架中集成使用Swagger示例說(shuō)明

    Nest框架中集成使用Swagger示例說(shuō)明

    這篇文章主要為大家介紹了Nest框架中集成使用Swagger的示例說(shuō)明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • DS-SDK封裝ThreeJS的三維場(chǎng)景核心庫(kù)Viewer

    DS-SDK封裝ThreeJS的三維場(chǎng)景核心庫(kù)Viewer

    這篇文章主要為大家介紹了基于DS-SDK封裝ThreeJS的三維場(chǎng)景核心庫(kù)Viewer封裝示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • typescript在vue中的入門(mén)案例代碼demo

    typescript在vue中的入門(mén)案例代碼demo

    這篇文章主要介紹了typescript在vue中的入門(mén)案例代碼demo,使用技術(shù)棧vue2+typescript+scss入門(mén)練手項(xiàng)目,天氣預(yù)報(bào)demo,需要的朋友可以參考下。
    2022-12-12
  • TypeScript數(shù)據(jù)結(jié)構(gòu)棧結(jié)構(gòu)Stack教程示例

    TypeScript數(shù)據(jù)結(jié)構(gòu)棧結(jié)構(gòu)Stack教程示例

    這篇文章主要為大家介紹了TypeScript數(shù)據(jù)結(jié)構(gòu)棧結(jié)構(gòu)Stack教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • TypeScript 交叉類型使用方法示例總結(jié)

    TypeScript 交叉類型使用方法示例總結(jié)

    這篇文章主要為大家介紹了TypeScript 交叉類型使用方法示例總結(jié),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • TypeScript條件類型示例全面講解

    TypeScript條件類型示例全面講解

    這篇文章主要為大家介紹了TypeScript條件類型示例的全面詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Typescript tsconfig.json的配置詳情

    Typescript tsconfig.json的配置詳情

    這篇文章主要為大家介紹了Typescript tsconfig.json的配置詳情示例 ,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02

最新評(píng)論

浏阳市| 万宁市| 乐昌市| 襄垣县| 安吉县| 龙岩市| 霍山县| 南昌县| 高安市| 牡丹江市| 富裕县| 高碑店市| 红原县| 临桂县| 漳浦县| 崇明县| 喀什市| 景宁| 达州市| 永泰县| 宣化县| 若羌县| 正阳县| 江西省| 保定市| 台江县| 兴山县| 航空| 大足县| 和林格尔县| 昭觉县| 牡丹江市| 南和县| 余姚市| 蒙山县| 青龙| 铅山县| 延长县| 灌南县| 仙桃市| 易门县|