Add support for self referencing schema #375
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.
Previously field with type
Box<Self>
within aToSchema
struct or enum did not create correct OpenAPI schema but mistakenly created a reference to unknown type#/components/schemas/Self
.This commit fixes this issue and now correct type will be created when
Self
keyword is being used withingToSchema
structs or enums. E.g. nowstruct Item(Box<Self>);
will create a reference like#/components/schemas/Item
.This commit also makes a breaking change to
ToSchema
trait where previously it was not possible to add a Reference directly to OpenAPI components schemas map even this is allowed by OpenAPI spec. This is commit will change theToSchema
return type toRefOr<Schema>
to allow returning references directly.Resolves #179