gpt4 book ai didi

nestjs - nestjs 如何使用@nestjs/swagger 生成有关 Passport 策略路由的文档

转载 作者:行者123 更新时间:2023-12-04 13:18:21 26 4
gpt4 key购买 nike

我正在制作 @nestjs/swagger生成api文档。但是如何为经过身份验证的路由生成文档?

嵌套版本

λ nest i
NodeJS Version : v10.16.0
[Nest Information]
platform-express version : 6.0.0
passport version : 6.1.0
swagger version : 3.1.0
common version : 6.0.0
core version : 6.0.0
jwt version : 6.1.1

这是一个正常的路由,我可以使用'@ApiImplicitBody'来制作文档:

  @Delete()
@ApiImplicitBody({
name: 'id',
required: true,
type: String,
})
@ApiOkResponse({
description: 'successfully deleted',
})
delete(@Body('id') typeId) {
return this.typesService.delete(typeId);
}

这条路线需要authentication ,如何记录这种类型的路线?

  @UseGuards(AuthGuard('local'))
@Post('login')
@ApiOkResponse({
description: 'result Token',
})
async login(@Request() req) {
return this.authService.login(req.user);
}

我查看了 Swagger documentation并尝试了“@nestjs/swagger”包中的一些 api,但没有用。

最佳答案

这样就达到了我想要的结果:

路线:

import { UserLoginDto } from './dto/user-login.dto';

@UseGuards(AuthGuard('local'))
@Post('login')
@ApiImplicitBody({ name: '', type: UserLoginDto, })
@ApiOkResponse({ description: 'result Token' })
async login(@Request() req) {
return this.authService.login(req.user);
}

用户登录地址:

import { IsNotEmpty, IsString } from 'class-validator';
import { ApiModelProperty } from '@nestjs/swagger';

export class UserLoginDto {
@IsString()
@IsNotEmpty()
@ApiModelProperty({ example: 'ajanuw', description: '账号' })
readonly username: string;

@IsString()
@IsNotEmpty()
@ApiModelProperty({
example: '123456',
description: '密码',
})
readonly password: string;
}

关于nestjs - nestjs 如何使用@nestjs/swagger 生成有关 Passport 策略路由的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57457231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com