Swagger 接口文档

npm install @nestjs/swagger swagger-ui-express

main.ts

import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'
const options = new DocumentBuilder().addBasicAuth().setTitle('aF 标题').setDescription('aF 描述').setVersion('1').build()
const document = SwaggerModule.createDocument(app, options)
SwaggerModule.setup('/api-docs', app, document)

controller.ts

import { Controller, Get } from '@nestjs/common'
import { LoginService } from './login.service'
import { ApiBasicAuth,ApiOperation, ApiParam, ApiTags, ApiQuery, ApiResponse } from '@nestjs/swagger'

@Controller('login')
@ApiTags('登录接口')
@ApiBasicAuth()
export class LoginController {
  constructor(private readonly loginService: LoginService) {}

  @Get()
  @ApiOperation({ summary: '接口标题', description: '描述' })
  @ApiParam({ name: 'id', description: '序号', required: true, type: String })
  @ApiQuery({ name: 'page', description: '分页信息' })
  @ApiResponse({ status: 403, description: '我是 403' })
  findAll() {
    return this.loginService.findAll()
  }
}

dto.ts

import { ApiProperty } from '@nestjs/swagger'
export class CreateLoginDto {
  @ApiProperty({ example: '俊介' })
  name: string
  @ApiProperty({ example: 18 })
  age: number
}