我正在使用@nestjs/swagger来生成 api 文档。但是如何为经过身份验证的路由生成文档呢?
\n\n巢版
\n\n\xce\xbb nest i\nNodeJS Version : v10.16.0\n[Nest Information]\nplatform-express version : 6.0.0\npassport version : 6.1.0\nswagger version : 3.1.0\ncommon version : 6.0.0\ncore version : 6.0.0\njwt version : 6.1.1\nRun Code Online (Sandbox Code Playgroud)\n\n这是正常的路线,我可以使用“@ApiImplicitBody”来制作文档:
\n\n @Delete()\n @ApiImplicitBody({\n name: \'id\',\n required: true,\n type: String,\n })\n @ApiOkResponse({\n description: \'successfully deleted\',\n })\n delete(@Body(\'id\') typeId) {\n return this.typesService.delete(typeId);\n }\nRun Code Online (Sandbox Code Playgroud)\n\n该路由需要身份验证,我如何记录此类路由?
\n\n @UseGuards(AuthGuard(\'local\'))\n @Post(\'login\')\n @ApiOkResponse({\n description: \'result Token\',\n })\n async login(@Request() req) {\n return this.authService.login(req.user);\n }\nRun Code Online (Sandbox Code Playgroud)\n\n我查看了Swagger文档并尝试了\'@nestjs/swagger\'包中的一些api,但它不起作用。
\n这样就达到了我想要的结果:
\n\n路线:
\n\nimport { UserLoginDto } from './dto/user-login.dto';\n\n @UseGuards(AuthGuard('local'))\n @Post('login')\n @ApiImplicitBody({ name: '', type: UserLoginDto, })\n @ApiOkResponse({ description: 'result Token' })\n async login(@Request() req) {\n return this.authService.login(req.user);\n }\nRun Code Online (Sandbox Code Playgroud)\n\n用户登录:
\n\nimport { IsNotEmpty, IsString } from 'class-validator';\nimport { ApiModelProperty } from '@nestjs/swagger';\n\nexport class UserLoginDto {\n @IsString()\n @IsNotEmpty()\n @ApiModelProperty({ example: 'ajanuw', description: '\xe8\xb4\xa6\xe5\x8f\xb7' })\n readonly username: string;\n\n @IsString()\n @IsNotEmpty()\n @ApiModelProperty({\n example: '123456',\n description: '\xe5\xaf\x86\xe7\xa0\x81',\n })\n readonly password: string;\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
7053 次 |
| 最近记录: |