【发布时间】:2022-03-08 18:22:13
【问题描述】:
我正在尝试通过 Nest.Js 中的 @Query 参数将默认参数 maxnodes=3 和 addstats=false 传递给控制器。
代码工作正常,但没有使用默认参数。当我传递查询参数时,会显示传递的参数,但如果没有传递,则不使用默认值(3 和 false)。
如何解决?
context.contructor.ts:
import { CreateContextQuery } from './context.query';
import { CreateContextDto } from './context.dto';
@Post('graph')
public async createGraphForContext(
@Body('context') contextData: CreateContextDto,
@Query()
contextQuery: CreateContextQuery,
) {
const before = Date.now();
const { context } = await this.contextService.createContext(contextData);
const graph = await this.contextService.getGraphOfContext(
context.id,
contextQuery.maxnodes,
contextQuery.addstats,
);
}
context.query.ts:
import { ApiProperty } from '@nestjs/swagger';
export class CreateContextQuery {
@ApiProperty({
description: 'Maximum number of nodes to show on the graph',
})
maxnodes;
@ApiProperty({
description: 'Include graph statistics',
})
addstats;
constructor(maxnodes = 3, addstats = false) {
this.maxnodes = maxnodes;
this.addstats = addstats;
}
}
【问题讨论】:
标签: node.js typescript nestjs