我想添加 api 块的描述。
我已经尝试过:
@ApiOperation({
description: 'Operation description'
})
这不起作用。
添加方法级别的描述
@ApiOperation({ summary: 'Operation description' })
检查此处:https://docs.nestjs.com/openapi/migration-guide#writing-changes
在类级别添加标签(控制器)
@ApiTags('MyTag')
这将创建一个可折叠块,其下包含所有方法。
改进之前的答案: 您可以在初始步骤添加标签描述
new DocumentBuilder()
.setTitle('API with NestJS')
...
.addTag('SomeTag1', 'Tag description 1')
.addTag('SomeTag2', 'Tag description 2')
然后在类级别(控制器)上使用标签
@ApiTags('SomeTag1')
// users.controller.ts
@ApiTag({
name: 'users',
description: 'Get all users',
})
@ApiBearerAuth()
@Controller('users')
export class UsersController {}
// ApiTag.decorator.ts
import { swaggerConfig } from '@/common/swagger';
import { TagObject } from '@nestjs/swagger/dist/interfaces/open-api-spec.interface';
import { ApiTags } from '@nestjs/swagger';
import { applyDecorators } from '@nestjs/common';
export const ApiTag = (tagObject: TagObject) => {
swaggerConfig.tags.unshift(tagObject);
return applyDecorators(ApiTags(tagObject.name));
};
// common/swagger.ts
import { DocumentBuilder } from '@nestjs/swagger';
const swaggerConfig = new DocumentBuilder()
.setTitle('管理后台')
.setDescription('管理后台接口文档')
.setVersion('1.0')
.addBearerAuth()
.build();
export { swaggerConfig };
//main.ts
const options: SwaggerDocumentOptions = {
operationIdFactory: (controllerKey: string, methodKey: string) => methodKey,
};
const document = SwaggerModule.createDocument(app, swaggerConfig, options);
SwaggerModule.setup('docs', app, document);