Describe the issue
When declaring objects using generics that go more than one levels deep, the GetOpenApiReferenceId method will generate the same id, no matter what the inner classes are, due to the logic here.
This will result in that all the instances where the outer classes are the same, only one schema will be used in the resulting documentation.
To Reproduce
Assume that we have a common response model
class ResponseModel<T> {
public T data {get; set;}
}
Describe the issue When declaring objects using generics that go more than one levels deep, the
GetOpenApiReferenceId
method will generate the same id, no matter what the inner classes are, due to the logic here.This will result in that all the instances where the outer classes are the same, only one schema will be used in the resulting documentation.
To Reproduce Assume that we have a common response model
And two classes we want to respond with
And two functions with the following attributes
and
This will result in
ResponseModel<List<Foo>>
(if processed first) being used for documenting the response body of both functionsExpected behavior
ResponseModel<List<Foo>>
for documenting the first function andResponseModel<List<Bar>>
for documenting the second one.