NestJS入门及实战(二)Swagger接口文档

Swagger是什么

Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。

Swagger 遵循了 OpenAPI 规范,OpenAPI 是 Linux 基金会的一个项目,试图通过定义一种用来描述 API 格式或 API 定义的语言,来规范 RESTful 服务开发过程。

https://swagger.io/

  • Rest API接口的展现
  • Rest API测试
  • Rest API Mock数据生成

创建swagger文档

下载依赖

pnpm i @nestjs/swagger

在这里插入图片描述

在src下创建doc.ts并进行配置

import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger';
// 引用到package.json中的name
import * as packageConfig from '../package.json'
export const generateDocument = (app) => {

    const options = new DocumentBuilder()
    	//文档的标题
        .setTitle(packageConfig.name)
        //文档描述
        .setDescription(packageConfig.description)
        .setVersion(packageConfig.version)
        .addBearerAuth() // 增加鉴权功能
        .build();

    const document = SwaggerModule.createDocument(app, options);
	//访问文档的URL
    SwaggerModule.setup('/api/doc', app, document);
}

这里引用package.json会报错
在这里插入图片描述
我们需要在tsconfig.json中配置一下

{
  "compilerOptions": {
    "resolveJsonModule": true,
  }
}

在main.ts中配置

import { generateDocument } from './doc'
async function bootstrap() {
  // ....
  
 
  // 创建文档
  generateDocument(app)
  await app.listen(3000, '0.0.0.0');
}

现在我们启动项目去访问一下
在这里插入图片描述
现在我们想给每个接口定义一下

需要借助swagger的ApiTags

在这里插入图片描述
在这里插入图片描述

进一步定义需要借助ApiOperation

在这里插入图片描述
在这里插入图片描述
还有很多api,帮助我们更加完善文档

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林多多@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值