我是 Nestjs 的新手,并且一直致力于为所有 API 制作一个通用的响应正文。目前,我正在利用地图从集合中获取响应,但不知道如何以下面提到的方式格式化响应。
我目前收到如下响应正文 -
Response body
[
{
"userId": "602a0f175bbd45688cd001f4",
"firstName": "Gagan",
"lastName": "Pandya",
"email": "gagankumar.pandya@galaxyweblinks.in",
"status": "active"
},
{
"userId": "603f3b547508bbd77a3d6fb5",
"firstName": "Kunal",
"lastName": "Ghosh",
"email": "kunal.ghosh@galaxyweblinks.in",
"status": "active"
}
]
Run Code Online (Sandbox Code Playgroud)
需要将其设置为-
{
"statusCode": 200,
"message": "User Listing",
"data":[
{
"userId": "602a0f175bbd45688cd001f4",
"firstName": "Gagan",
"lastName": "Pandya",
"email": "gagankumar.pandya@galaxyweblinks.in",
"status": "active"
},
{
"userId": "603f3b547508bbd77a3d6fb5",
"firstName": "Kunal",
"lastName": "Ghosh",
"email": "kunal.ghosh@galaxyweblinks.in",
"status": "active"
}
]
}
Run Code Online (Sandbox Code Playgroud)
下面是我的控制器代码 -
@Get('/users-listing')
// @UseGuards(AuthGuard('jwt'))
// @Roles('Super Admin')
@ApiOperation({ title: 'Lists …Run Code Online (Sandbox Code Playgroud) 如果我使用 multipart-formdata 并且 DTO 使用包含对象数组的字段,则不允许 formdata 在 swagger DTO 中包含该字段。现在我必须使用邮递员的原始 JSON 选项,但我需要 Nestjs 内置 swagger DTO 的相同实现。
请在下面找到我的控制器代码 -
@Post('/create')
@UseGuards(AuthGuard('jwt'))
@ApiBearerAuth()
@ApiOkResponse({})
@HttpCode(HttpStatus.OK)
@ApiOperation({ title: 'Create a project.' })
@ApiConsumes('multipart/form-data')
@UseInterceptors(FileInterceptor('file'))
@ApiImplicitFile({ name: 'image', required: true })
@ApiCreatedResponse({})
async create(@Req() request: Request, @UploadedFile() image: Express.Multer.File,) {
const jsonRequest = request.body;
if (request['user']) {
jsonRequest.createdBy = request['user']._id;
jsonRequest.updatedBy = request['user']._id;
}
const result = await this.projectsService.createProject(jsonRequest, image.buffer,
image.originalname, image.mimetype, image.size);
return result;
}
Run Code Online (Sandbox Code Playgroud)
请找到我招摇的DTO
import { ApiModelProperty } from '@nestjs/swagger'; …Run Code Online (Sandbox Code Playgroud)