NestJS导出API文档

news/2024/12/14 15:54:27/文章来源:https://www.cnblogs.com/sekihin/p/18606837

在NestJS中,你可以使用@nestjs/swagger包来定义你的API文档,并且可以很容易地将这些文档转换为API调用。以下是一个简单的例子,展示如何使用NestJS和Swagger来创建一个API文档,并且如何生成API调用。

首先,安装@nestjs/swaggerswagger-ui-express

npm install @nestjs/swagger swagger-ui-express

然后,在你的NestJS模块中使用ApiApiOperation装饰器来定义你的API文档:

import { Controller, Get, Post } from '@nestjs/common';
import { ApiTags, ApiOperation } from '@nestjs/swagger';@Controller('cats')
@ApiTags('cats')
export class CatsController {@Get()@ApiOperation({ summary: 'Get all cats' })findAll(): string {return 'This action returns all cats';}@Post()@ApiOperation({ summary: 'Create a cat' })create(): string {return 'This action creates a cat';}
}

最后,在你的NestJS应用程序中使用SwaggerModuleDocumentBuilder来配置和启动Swagger:

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);const config = new DocumentBuilder().setTitle('Cats example').setDescription('The cats API description').setVersion('1.0').addTag('cats').build();const document = SwaggerModule.createDocument(app, config);SwaggerModule.setup('api', app, document);await app.listen(3000);
}
bootstrap();

现在,当你运行你的NestJS应用程序并访问http://localhost:3000/api时,你将会看到Swagger UI,它根据你在代码中定义的API文档展示出来。你可以直接点击API操作下的"Try it out"按钮来发起API调用,并查看响应。这样,你就可以将API文档转换为实际的API调用。