-
-
Notifications
You must be signed in to change notification settings - Fork 486
openapi2: fix un/marshalling discriminator field #1011
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
8e92e88 to
e17e91d
Compare
|
@fenollp can please review this PR? Thanks |
|
Hi! Thanks for tackling this. The ideal solution to me is to define a different Discriminator type in v2 and leave the current definition as is in v3. I. E. to have two different types and avoid casting. |
34c2229 to
b0f93cc
Compare
Hi @fenollp, thank you for your feedback. I agree with your suggestion. After looking into the proposed approach, it seemed like it would involve significant effort to refactor. I’ve updated the PR with a simpler approach than before to address the bug. Please review and let me know what you think. I can look into implementing the suggested approach without any strict time constraints in a different PR if its still required after this PR. |
78fe764 to
913e56a
Compare
|
@fenollp I have create a new Schema Object for the OpenAPI V2. Please review and let me know. |
* add origin - step 1 * delete origin from content * point to Origin * make include origin configurable * generic unmarshalStringMap * add origin to more components * revert comments * use const originKey * comment to Scopes * test more specs * Fix Discriminator * update docs * test on a decent set of dedicated specs * remove trainling spaces * add comments * remove trailing whitespace * update docs * dedicated tests * update docs * remove whitespace * rm empty line * rm last newline * add tests * rm unused test files * update deps * fix paths test * test components/security * fix LF * include origin in unmarshal maps * move component unmarshallers to respective files * fix test (json-schema 301) * Add github.com/pb33f/libopenapi (#1004) * Add github.com/pb33f/libopenapi it looks like a reasonable alternative * Update README.md --------- Co-authored-by: Pierre Fenoll <pierrefenoll@gmail.com> * Introduce an option to override the regex implementation (#1006) * make form required field order deterministic (#1008) * openapi2: fix un/marshalling discriminator field (#1011) * fix: issue unmarshalling when discriminator field is set in openapi2.0 * revert original approach * update with different approach * Revert "update with different approach" This reverts commit 2db2b39. * v2 schema with discriminator field set as string * update ref link and comment * run docs.sh * README: add Fuego to dependents (#1017) * openapi3: skip a test in CI to avoid 403s from some remote server (#1019) Signed-off-by: Pierre Fenoll <pierrefenoll@gmail.com> * revert fix test (json-schema 301) * openapi3: introduce StringMap type to enable unmarshalling of maps with Origin (#1018) * add origin to more components * Fix Discriminator * update docs * update doccs * merge with stringmap * remove unused Scopes --------- Signed-off-by: Pierre Fenoll <pierrefenoll@gmail.com> Co-authored-by: Jille Timmermans <jille@quis.cx> Co-authored-by: Pierre Fenoll <pierrefenoll@gmail.com> Co-authored-by: Alexander Bakker <ab@alexbakker.me> Co-authored-by: Justin Sherrill <jlsherrill@gmail.com> Co-authored-by: Jay Shah <jay.shah@konghq.com> Co-authored-by: Ewen Quimerc'h <46993939+EwenQuim@users.noreply.github.com>
This PR addresses issue #1010. It allows
discriminatorfield to be of any type and case it based on the OpenAPI version.