Hello, I have a question about how swagger generates the JSON about the subclasses. I added the
[JsonConverter(typeof(JsonInheritanceConverter), "discriminator")]
[KnownType(typeof(SubClass))]
decorators on the superclass and I added the Package NJsonSchema as I see on their documentation, but the generated JSON doesn't have the discriminator field and the subclasses aren't generated, so I cannot use them in the Angular FrontEnd
How can I resolve this? Thank you for your help. Agostino
3 Answer(s)
-
0
Hi,
We are using https://github.com/domaindrivendev/Swashbuckle.AspNetCore, did you check its documentation ? If you can't find a solution on its documentation, could you share your entire classes ?
Thanks,
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
Hello @ismcagdas, thank you for your answer. I tried to add a
DocumentFilterand aSchemaFilteras described in https://github.com/domaindrivendev/Swashbuckle.AspNetCore/issues/451 this page but that code has errors and methods and classes don't match (it seems to be related to an old version of the library). I tried to fix that code but seems too different.Then I found this Package
NJsonSchemaand i added the code[JsonConverter(typeof(JsonInheritanceConverter), "discriminator")] [KnownType(typeof(Dog))] public class Animal { ... } public class Dog { ... }and it works, infact the returned JSON has the
discriminatorfield, but it is not added to the Swagger, so NSwag.js does not update the angular "service proxies".Any hint? Agostino
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image) -
0
Hi,
NJsonSchema is a different library doing similar things like Swashbuckle.AspNetCore. So, you need to document schema filters for Swashbuckle.AspNetCore to solve this issue. Does your project have SwaggerEnumSchemaFilter.cs ? If so, you can cehck its implementation.
Thanks,
Markdown is supportedCopy & paste or drag & drop images (max 30 MB per image)