Unresolved reference while instantiating Encoding#68
Merged
cebe merged 2 commits intocebe:masterfrom Apr 7, 2020
karsa-mistmere:patch-1
Merged
Unresolved reference while instantiating Encoding#68cebe merged 2 commits intocebe:masterfrom karsa-mistmere:patch-1
cebe merged 2 commits intocebe:masterfrom
karsa-mistmere:patch-1
Conversation
If there's a `$ref` within a `multipart/form-data` `requestBody`, the `Encoding` will be instantiated with a `Reference` object instead of a `Schema` object as expected resulting in a `TypeErrorException`. Since this parameter is only ever used to guess the default encoding type of a property if and when it is not explicitly defined, I propose to skip the schema parameter altogether if during instantiation it is still an unresolved reference (otherwise we would have to pre-resolve references during instantiation leading to all other kinds of mishaps and a very substantial rewrite of the whole project).
Owner
|
Thanks for the fix! Could you add a test case to verify it? |
Test case for unresolved references while instantiating Encoding
Contributor
Author
|
Sure, I've commited it. |
Owner
|
Thank you! |
cebe
added a commit
that referenced
this pull request
Apr 7, 2020
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
If there's a
$refwithin amultipart/form-datarequestBody, theEncodingwill be instantiated with aReferenceobject instead of aSchemaobject as expected resulting in aTypeErrorException.To reproduce, just parse the following OpenAPI schema:
Since this parameter is only ever used to guess the default encoding type of a property if and when it is not explicitly defined, I propose to skip the schema parameter altogether if during instantiation it is still an unresolved reference (otherwise we would have to pre-resolve references during instantiation leading to all other kinds of mishaps and a very substantial rewrite of the whole project).
php-openapi/src/spec/MediaType.php
Lines 56 to 62 in aafedb5