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
}