Open wilker7ribeiro opened 4 months ago
Would you like to create a PR for this issue?
I can confirm, same issue here. Actually the title might be misleading since the bug seems to be not limited to arrays but related with properties being in nested objects, including nested in arrays.
Can confirm this issue too, experimenting a little I found out that basically the api generator is flattening too much: I forked OP repro to show it ( https://codesandbox.io/p/github/wonderbeel/nest-swagger-query-object-param-issue/ and https://github.com/wonderbeel/nest-swagger-query-object-param-issue ), as you can see we are basically missing one level of nesting.
Have you resolved the issue yet? I am currently using Apidog to generate API documentation, and it's working well for me.
I have a FilterDto like so
class FilterDto {
@IsString()
column: string;
@IsEnum({
equals: 'equals',
neq: 'not',
gt: 'gt',
lt: 'lt',
gte: 'gte',
lte: 'lte',
in: 'in',
nin: 'not',
})
operator: string;
@IsString()
value: string;
}
and an Query param like so
@ApiProperty({ type: FilterDto, isArray: true })
@IsOptional()
@IsArray()
@Type(() => FilterDto)
@ValidateNested({ each: true })
readonly filters: FilterDto[];
This doesn't generate it right unless i put the FilterDto in an array @ApiProperty({ type: [FilterDto], isArray: true })
, and when i do it puts it as an array of arrays instead of array of objects
I tried @ApiProperty({ type: [FilterDto] })
, doesn't work
I tried to specify the type inside, doesn't work
I tried to auto generate it using the plugin in nestcli, doesn't work
any news about this?
I have same issue.
Is there an existing issue for this?
Current behavior
I want to create a GET endpoint with a inner object inside query params:
The swagger definition is bugged, having all parameters from
QueryParamsSubObject
insideQueryParams
instead ofQueryParams.subObject
:The definition is generated correctly when using
@ApiQuery
instead of@Query
:Minimum reproduction code
Codesandbox https://github.com/wilker7ribeiro/nest-swagger-query-object-param-issue
Steps to reproduce
npm install
npm start
http://localhost:3000/api
Expected behavior
@Query
should correctly generate the swagger definition as@ApiQuery
does.Package version
7.3.1
NestJS version
10.3.2
Node.js version
10.3.2
In which operating systems have you tested?