Comments (5)
It's not possible for the same reason as Array or T[] (look at the issue microsoft/TypeScript/issues/10576).
You could try the following:
export abstract class ServiceApiResponse<T> {
abstract get value(): T;
@ApiModelProperty({ type: Number })
pages: number;
@ApiModelProperty({ type: Number })
page: number;
@ApiModelProperty({ type: Number })
maxByPage: number;
@ApiModelProperty({ type: Number })
count: number;
@ApiModelProperty({ type: Object })
error: any;
}
export class PatientCaretrackPopulatedOutputResponse extends ServiceApiResponse<PatientCaretrackPopulatedResponse[]> {
@ApiModelProperty({ type: PatientCaretrackPopulatedResponse, isArray: true })
value: PatientCaretrackPopulatedResponse[];
}
from swagger.
Cross posting this, does that mean a generic controller wouldn't be able to expose the proper endpoints? For example, something like this (taken from nestjs/nest#228):
export abstract class EntityController<T> {
constructor(protected readonly service: EntityService<T>) { }
@Get()
async findAll() {
return this.service.findAll();
}
@Get(':id')
async getById(@Param() params) {
return this.service.getById(params.id);
}
@Post()
async create(@Body() data: Partial<T>) {
return this.service.create(data);
}
}
from swagger.
Running into the same issue, having a generic CRUD controller being inherited is incredibly useful but for PUT and POST methods SwaggerUI is not implicitly picking up the T model.
I've tried specifying the model type with
@ImplicitApiBody({ name: 'data', type: thid.entityType })
where this.entityType is the actual Model declared in the child controller.
I've tried various ways of passing the model constructor to the generic parent controller and have @ImplicitApiBody work, to no avail.
Is there a way for Swagger to find the @Body type "T" in a generic parent controller like CrudController ?
from swagger.
Hi @alisherks, this works fine.
Thanks
from swagger.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
from swagger.
Related Issues (20)
- Oauth2 Redirect url not working correctly without trailing path HOT 1
- The fields of DTO do not appear in Swagger UI when using CLI. HOT 1
- Wrong swagger generation for @Query with array of objects HOT 5
- Swagger is not showing extended properties HOT 7
- Custom `type` is not retained as type, but rewritten as `allOf: - $ref: ...` breaking `nullable: true` spec in `@ApiProperty` HOT 8
- Setting the name attribute results in a schema change HOT 2
- CLI Plugin cannot generate descriptions for endpoint HOT 1
- OpenAPI: Use oneOf with $ref
- Typescript Program is undefined when ts-jest isolatedModule is true
- Metadata gets incorrectly applied/merged when using loadPluginMetadata HOT 3
- Support for Header Versioning
- swagger debugging does not work properly when using @body("user") user:User as an argument, there is no Request body, but @body() user:User works fine with no argument HOT 1
- Issues with typescript >= 5.5 HOT 1
- default @ApiTag to controller name HOT 2
- Help: Need to add basic authentication to access swagger url in fastify nestjs application HOT 2
- Using Types with the metadata generator plugin doesn't seem to work HOT 1
- OpenAPI 2 fork HOT 1
- Secure Configuration for Hiding Client ID and Client Secret in Swagger OAuth Configuration HOT 1
- @ApiHeader does not support `examples`
- ApiProperty containing a key as an array of objects HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from swagger.