中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

轉(zhuǎn)轉(zhuǎn)怎么做釣魚網(wǎng)站知名網(wǎng)絡(luò)營(yíng)銷推廣

轉(zhuǎn)轉(zhuǎn)怎么做釣魚網(wǎng)站,知名網(wǎng)絡(luò)營(yíng)銷推廣,印度做批發(fā)的網(wǎng)站有哪些,信陽(yáng)seo優(yōu)化顧問(wèn)什么是 Swagger ? Swagger 是一組圍繞 OpenAPI 規(guī)范構(gòu)建的開(kāi)源工具,可以幫助您設(shè)計(jì)、構(gòu)建、記錄和使用 REST API。主要的 Swagger 工具 包括: Swagger Editor:基于瀏覽器的編輯器,您可以在其中編寫 OpenAPI 定義Swagger UI&…

什么是 Swagger ?

Swagger 是一組圍繞 OpenAPI 規(guī)范構(gòu)建的開(kāi)源工具,可以幫助您設(shè)計(jì)、構(gòu)建、記錄和使用 REST API。主要的 Swagger 工具 包括:

  • Swagger Editor:基于瀏覽器的編輯器,您可以在其中編寫 OpenAPI 定義
  • Swagger UI:將 OpenAPI 定義呈現(xiàn)為交互式文檔
  • Swagger Codegen:從 OpenAPI 定義中生成服務(wù)器存根和客戶端庫(kù)
  • Swagger Editor Next(beta):基于瀏覽器的編輯器,您可以在其中編寫和查看 OpenAPI 和 AsyncAPI 定義
  • Swagger Core:用于創(chuàng)建、使用和處理 OpenAPI 定義的 Java 相關(guān)庫(kù)
  • Swagger Parser:用于解析 OpenAPI 定義的獨(dú)立庫(kù)
  • Swagger APIDom:提供了一個(gè)單一的、統(tǒng)一的結(jié)構(gòu),用于跨各種描述語(yǔ)言和序列化格式描述 API

Nest 集成 Swagger

  1. 安裝依賴
pnpm add @nestjs/swagger swagger-ui-express
  1. main.ts 文件中定義并初始化 SwaggerModule
 import { NestFactory } from '@nestjs/core';import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger';import { AppModule } from './app.module';async function bootstrap() {const app = await NestFactory.create(AppModule);// 構(gòu)建swagger文檔const options = new DocumentBuilder().setTitle('vue3-admin').setDescription('Background system based on Nest.js + Vue3 full stack development').setVersion('1.0').build();const document = SwaggerModule.createDocument(app, options);SwaggerModule.setup('docs', app, document);await app.listen(3000);}bootstrap();
  1. 啟動(dòng)服務(wù),訪問(wèn)http://localhost:3000/docs,你會(huì)看到 Swagger 頁(yè)面:
    在這里插入圖片描述

DocumentBuilder 屬性

方法描述
setTitle文檔標(biāo)題
setDescription文檔描述
setVersion文檔版本
setTermsOfService文檔服務(wù)條款
setContact文檔聯(lián)系信息
setLicense文檔許可證信息
addServer文檔服務(wù)地址
setExternalDoc文檔外部鏈接
setBasePath設(shè)置文檔基礎(chǔ)路徑
addTag添加文檔標(biāo)簽
addExtension添加擴(kuò)展
addSecurity添加安全方案
addGlobalParameters添加全局參數(shù)
addSecurityRequirements添加安全需求
addBearerAuth添加 Bearer Token 認(rèn)證
addOAuth2添加 OAuth2 認(rèn)證
addApiKey添加 ApiKey
addBasicAuth添加基礎(chǔ)認(rèn)證
addCookieAuth添加 Cookie 認(rèn)證
build構(gòu)建服務(wù)

在 Nest 中使用

  1. DTO(響應(yīng)數(shù)據(jù)傳輸對(duì)象) 文件中使用裝飾器
 import { ApiProperty } from '@nestjs/swagger';import { IsNumberString, IsOptional, IsUUID } from 'class-validator';export class PostParamsDto {@ApiProperty({type: String,description: '崗位名稱',required: false,default: '前端工程師',})name?: string;@ApiProperty({type: String,description: '所屬組織',default: 'f45cd48b-e703-49db-91be-ae7f594e73e0',required: false,})@IsOptional()@IsUUID('all', { message: 'orgId 參數(shù)不正確' })orgId?: string;@ApiProperty({type: Number,description: '開(kāi)始日期',default: 1721145600000,required: false,})@IsOptional()@IsNumberString({}, { message: '開(kāi)始日期必須是時(shí)間戳格式' })startTime?: number;@ApiProperty({type: Number,description: '結(jié)束日期',default: 1721318399999,required: false,})@IsOptional()@IsNumberString({}, { message: '結(jié)束日期必須是時(shí)間戳格式' })endTime?: number;}
  1. Controller 控制器 中使用裝飾器
import { Controller, Get, Query } from '@nestjs/common';
import { ApiOkResponse, ApiOperation, ApiTags } from '@nestjs/swagger'; // swagger 接口文檔import { PostParamsDto } from './dto/params-post.dto';
import { ResponsePostDto } from './dto/response-post.dto';
import { PostManageService } from './post-manage.service';@ApiTags('智能行政-崗位管理')
@Controller('post-manage')
export class PostManageController {constructor(private readonly postManageService: PostManageService) { }/*** @description: 查詢崗位列表*/@Get()@ApiOkResponse({ type: ResponsePostDto })@ApiOperation({ summary: '獲取崗位管理列表' })findAll(@Query() params: PostParamsDto) {return this.postManageService.findAll(params);}
}

常用 Swagger 裝飾器

裝飾器描述
@ApiTags為控制器或方法添加標(biāo)簽,用于組織 Swagger UI 文檔
@ApiOperation為控制器方法添加操作描述,包括摘要和詳細(xì)描述
@ApiParam描述路徑參數(shù)、請(qǐng)求參數(shù)或響應(yīng)參數(shù),包括名稱、類型、描述等
@ApiBody指定請(qǐng)求體的 DTO 類型,用于描述請(qǐng)求體的結(jié)構(gòu)
@ApiResponse描述 API 的響應(yīng),包括狀態(tài)碼、描述等
@ApiBearerAuth指定請(qǐng)求需要攜帶 Bearer Token,用于身份驗(yàn)證
@ApiProperty為 DTO 類型的屬性添加元數(shù)據(jù),如描述、默認(rèn)值等
@ApiQuery描述查詢參數(shù),包括名稱、類型、描述等
@ApiHeader描述請(qǐng)求頭信息,包括名稱、類型、描述等
@ApiExcludeEndpoint標(biāo)記一個(gè)控制器方法不在 Swagger UI 中顯示

效果圖

在這里插入圖片描述

總結(jié)

在 Nest 中集成 Swagger 文檔可以幫助開(kāi)發(fā)者自動(dòng)生成和維護(hù) API 文檔,Swagger 的集成提供了在線生成、?自動(dòng)生成、?可操作數(shù)據(jù)庫(kù)等優(yōu)點(diǎn),規(guī)范了 API 的標(biāo)準(zhǔn)化和一致性,后期還可以把 Swagger 文檔導(dǎo)入到其他平臺(tái),例如 ApiFox
在這里插入圖片描述

不足之處就是會(huì)增加開(kāi)發(fā)者的工作量,每一個(gè)接口都需要保持注釋和裝飾器的準(zhǔn)確性和完整性,仍然需要一定的維護(hù)工作。

http://www.risenshineclean.com/news/28329.html

相關(guān)文章:

  • 桂林手機(jī)網(wǎng)站建設(shè)seo推廣經(jīng)驗(yàn)
  • 購(gòu)物網(wǎng)站建設(shè)機(jī)構(gòu)網(wǎng)絡(luò)營(yíng)銷策略分析方法
  • 公文寫作 課程中心網(wǎng)站建設(shè)百度seo怎么優(yōu)化
  • 兼職做網(wǎng)站系統(tǒng)搜索引擎營(yíng)銷的案例有哪些
  • 給博彩網(wǎng)站做推廣犯法樂(lè)云seo官網(wǎng)
  • 衢州市火車站片區(qū)規(guī)劃直通車推廣計(jì)劃方案
  • 網(wǎng)站屏蔽國(guó)內(nèi)ip個(gè)人seo外包
  • 南寧營(yíng)銷型網(wǎng)站一個(gè)公司可以做幾個(gè)百度推廣
  • 快樂(lè)彩網(wǎng)站做谷歌在線瀏覽器入口
  • 那些網(wǎng)站做網(wǎng)批百度注冊(cè)公司地址
  • 電子商務(wù)網(wǎng)站建設(shè)與管理試題免費(fèi)網(wǎng)站在線客服軟件
  • B2B行業(yè)門戶網(wǎng)站模板百度關(guān)鍵詞優(yōu)化點(diǎn)擊 教程
  • 網(wǎng)站程序模板下載seo收費(fèi)標(biāo)準(zhǔn)多少
  • 最有效的網(wǎng)站推廣費(fèi)用必應(yīng)搜索引擎網(wǎng)站
  • 我可以復(fù)制別人網(wǎng)站代碼自己做我的網(wǎng)站嗎具大數(shù)據(jù)培訓(xùn)課程
  • 手機(jī)網(wǎng)站建設(shè)技術(shù)方案北京互聯(lián)網(wǎng)公司排名
  • 西寧制作網(wǎng)站多少錢企業(yè)做網(wǎng)上推廣
  • 什么網(wǎng)站做任務(wù)的q幣免費(fèi)網(wǎng)站的平臺(tái)
  • 免費(fèi)輿情信息網(wǎng)站微信公眾號(hào)小程序怎么做
  • 網(wǎng)站制作b s的基本步驟南陽(yáng)本地網(wǎng)絡(luò)推廣優(yōu)化公司
  • 南莊網(wǎng)站開(kāi)發(fā)最近韓國(guó)電影片
  • 南寧seo推廣外包鄭州優(yōu)化網(wǎng)站公司
  • 做門窗接活的網(wǎng)站培訓(xùn)網(wǎng)站
  • 山東seo網(wǎng)絡(luò)營(yíng)銷推廣seo指搜索引擎
  • ic商城網(wǎng)站建設(shè)同城引流用什么軟件
  • 怎么做校園表白墻網(wǎng)站怎么在網(wǎng)上做網(wǎng)絡(luò)營(yíng)銷
  • 網(wǎng)站建設(shè)論文的前言南京seo排名優(yōu)化
  • 深業(yè)資本有限公司網(wǎng)站建設(shè)成都高端品牌網(wǎng)站建設(shè)
  • 江蘇靖江蘇源建設(shè)有限公司招標(biāo)網(wǎng)站搜盤 資源網(wǎng)
  • 網(wǎng)站建設(shè)優(yōu)化兼職成都seo工程師