Fix missing $ref in OpenApi documentation (#4009) #4076
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In #3957 a change got introduced that unintentionally removed
$ref
's from the OpenApi documentation in some cases. The PR changed an existing test without adding a new one.$propertySchema
is filled with thetype
that gets passed in the@ApiProperty()
openapi_context
orswagger_context
attribute. So in the previous PR it was thought that whenever$propertySchema
contains something it was certainly filled because someone tried to define their own type and we shouldn't add a$ref
. However$propertySchema
is also filled withdescription
whenever a description exists.So at the moment when you add a description to your method, you lose the
$ref
.This PR makes sure the
$ref
is only removed when a$propertySchema['type']
is set.I've also updated the test with a property that has the
swagger_context
with atype
set.