Bug Report Checklist
Description
@spacether
When using OAS to describe a complex polymorphic graph, the client is currently unable to serialize grandchildren of any given type (subclasses of subclasses.) I have made a recursive model lookup function, which recursively looks at the discriminators of the subclasses (discriminated classes) until the leaf nodes, but that has very bad performance, reducing performance to 1/100 of normal deserialization. There is a lot of repeated work done for the same model over and over, so I added caching, and the performance is now roughly 1/10 of what it was. Ideally, there would be some way to specify the whole type mapping dictionary.
openapi-generator version
4.2.3
OpenAPI declaration file content or url
components:
schemas:
Animal:
type: object
required:
- type_key
properties:
type_key:
type: string
mapping:
pet: '#/components/schemas/Pet'
Pet:
type: object
properties:
type_key:
type: string
discriminator:
propertyName: type_key
mapping:
cat: '#/components/schemas/Cat'
Cat:
type: object
properties:
type_key:
age: number
Suggest a fix
See Description
Bug Report Checklist
Description
@spacether
When using OAS to describe a complex polymorphic graph, the client is currently unable to serialize grandchildren of any given type (subclasses of subclasses.) I have made a recursive model lookup function, which recursively looks at the discriminators of the subclasses (discriminated classes) until the leaf nodes, but that has very bad performance, reducing performance to 1/100 of normal deserialization. There is a lot of repeated work done for the same model over and over, so I added caching, and the performance is now roughly 1/10 of what it was. Ideally, there would be some way to specify the whole type mapping dictionary.
openapi-generator version
4.2.3
OpenAPI declaration file content or url
Suggest a fix
See Description