nestjs中swagger的基本使用
nestjs中swagger的基本使用
安装
$ npm install --save @nestjs/swagger swagger-ui-express
//如果使用fastify,则必须安装fastify-swagger而不是swagger-ui-express:
$ npm install --save @nestjs/swagger fastify-swagger
朴素使用
main.ts
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
const config = new DocumentBuilder()
.setTitle('this is a title')
.setDescription('this is a description')
.setVersion('1.0')
.addTag('cat')
.addTag('dog')
.build();
const document = SwaggerModule.createDocument(app, config);
SwaggerModule.setup('api', app, document);
await app.listen(3000);
}
重点:用ApiTags装饰每一个Controller,才能把它们按名字分类展示
import { ApiTags } from '@nestjs/swagger';
app.controller.ts
@ApiTags()
@Controller()
export class AppController { ... }
cat.controller.ts
@ApiTags('cat')
@Controller('cat')
export class CatController { ... }
dog.controller.ts
@ApiTags('dog')
@Controller('dog')
export class DogController { ... }
如上便得到如下效果:

通过装饰器对接口更详细地说明
import { Controller, Get, Param } from '@nestjs/common';
import { ApiTags, ApiParam } from '@nestjs/swagger';
@ApiTags('dog')
@Controller('dog')
export class DogController {
@Get('/onedog/:name')
// 通过ApiParam装饰器,来描述接口需要哪些参数
@ApiParam({ name: 'name', type: String, description: '姓名' })
@ApiParam({ name: 'gender', type: String, description: '性别' })
aGetRequest(
@Param('name') name: string,
@Param('gender') gender: string
): string {
return `a ${gender} named ${name} has lunched a get request`
}
}
如上便得到如下效果:

除了ApiParam装饰器外还有很多别的装饰器可用,可自行百度,用法大同小异
nestjs中swagger的基本使用的更多相关文章
- 在NestJS 中添加对Stripe 的WebHook 验证
在NestJS 中添加对Stripe 的WebHook 验证 背景介绍 Nest 是一个用于构建高效,可扩展的NodeJS 服务器端应用程序的框架.它使用渐进式JavaScript, 内置并完全支持T ...
- WebApi中Swagger的使用(超级简单)
Swagger解释 Swagger是一种Rest API的简单但强大的表示方式,她是标准的与语言无关,这种表示方式不但人可读,而且机器可读. 可以作为Rest API的交互式文档,也可以作为Rest ...
- Asp.Net MVC Web API 中Swagger教程,使用Swagger创建Web API帮助文件
什么是Swagger? Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法 ...
- 如何让接口文档自动生成,SpringBoot中Swagger的使用
目录 一.在SpringBoot项目中配置Swagger2 1.pom.xml中对Swagger2的依赖 2.编写配置类启用Swagger 3.配置实体类的文档 4.配置接口的文档 5.访问文档 二. ...
- 【swagger】C# 中 swagger 的使用及避坑
@ 目录 1 安装 2 修改名称和版本号 3 显示说明 4 显示控制器注释及汉化 5 路由相同,查询参数不同的方法 6 忽略 Model 中的某些字段 7 传递 header 8 出错时的 HTTP ...
- Core3.0中Swagger使用JWT
前言 学习ASP.NETCore,原链接 https://www.cnblogs.com/laozhang-is-phi/p/9511869.html 原教程是Core2.2,后期也升级到了Core3 ...
- asp .net core中swagger的简单使用
相信swagger大家不太陌生,简单来说就是把web api接口以ui的形式呈现到页面上,供方便调用和展示.这边文章就带大家初步简单使用swagger. (1)首先需要安装包:Swashbuckle. ...
- springboot项目中swagger配置
1.导入依赖 查看代码 <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId> ...
- nestjs中typeorm进行事物操作
https://typeorm.io/#/transactions 两种方法
- .net中swagger忽略某些字段
需要忽略的字段上用特性 [System.Text.Json.Serialization.JsonIgnore] 例如:
随机推荐
- RocketMQ - 生产者启动流程
生产者启动流程 DefaultMQProducer是RocketMQ中默认的生产者实现 核心属性: namesrvAddr: 继承自 ClientConfig,表示 RocketMQ 集群的Names ...
- makefile 入门第一课
makefile入门第一课 百度百科makefile词条: 一个工程中的源文件不计其数,其按类型.功能.模块分别放在若干个目录中. makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些 ...
- 有趣的python库-tkinter
tkinter-GUI编程用 与pyqt.wxpython一样,python三大gui库之一,用来写图形化界面很有意思,下面举个整蛊小例子. 实现烦人的弹窗 import tkinter as tk, ...
- JZOJ 2020.08.03【NOIP提高组】模拟 &&【NOIP2015模拟11.5】
总结 又是一日爆炸 \(T1\) 不出所料报 \(0\) 了?! 题目 \(T1\) JZOJ 4315. Prime 暴力就好了?! 考场根本没想暴力 赛后发现暴力跑得贼快 只需二分一下组数的上界 ...
- [COCI2015-2016#2] VUDU
题目传送门 思路 这是一种简单的树状数组解法. 我们设偏移值表示 \(a_i\) 与目标平均数 \(p\) 的差值,显然,一个区间若能满足条件,需要满足此区间的偏移值之和 \(\ge 0\). 看到区 ...
- Cobalt Strike 之:提权
郑重声明: 本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关.倡导维护网络安全人人有责,共同维护网络文明和谐. Co ...
- Binary &Op是什么
前言 在并行开发时我们经常会用到Pstream::gather()函数或是全局函数reduce()或者其他,需要输入参数Binary &Op,本篇主要讨论Binary &Op是什么 t ...
- 【Java-01-2】java基础-基本语法(2)(关系运算,if,循环)
1.关系/逻辑/条件 运算符,if语句 /* * 关系运算,if,循环 * 条件:condition * 注意逻辑运算符的短路特性 */ import java.io.*; public class ...
- Bouncy Castle密码算法库
Bouncy Castle密码算法库 一.开发背景 Bouncy Castle 是一种用于 Java 平台的开放源码的轻量级密码术包.它支持大量的密码术算法,并提供 JCE 1.2.1 的实现.因为 ...
- VScode中文乱码问题
参考链接 https://blog.csdn.net/weixin_40040107/article/details/103721554?utm_medium=distribute.pc_releva ...