-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
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
[Java][Spring] fix one of #10286
Closed
Orachigami
wants to merge
37
commits into
OpenAPITools:master
from
Orachigami:feature/TAP-232/oneof-fixes
Closed
[Java][Spring] fix one of #10286
Orachigami
wants to merge
37
commits into
OpenAPITools:master
from
Orachigami:feature/TAP-232/oneof-fixes
Conversation
This file contains 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
…rator into spring_fix_5381
…rator into spring_fix_5381
…rator into spring_fix_5381 � Conflicts: � modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
# Conflicts: # modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java
# Conflicts: # modules/openapi-generator/src/test/java/org/openapitools/codegen/java/spring/SpringCodegenTest.java
# Conflicts: # modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java # modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java
agilob
reviewed
Sep 8, 2021
...es/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java
Show resolved
Hide resolved
agilob
reviewed
Sep 8, 2021
modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/SpringCodegen.java
Show resolved
Hide resolved
5 tasks
…ded jackson DEDUCTION for cases without discriminator
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.
Fixes: #2906
Fixes: #5381
Fixes: #8647
Fixes: #8860
Fixes: #9601
Fixes: #9981
Added tests
oneOfModelsGeneration
for Java Spring and Java Client which iterate through several specs with OneOf usage cases and check that OneOf models are generated and subtypes implement generated models. Java Client test also creates a cartesian product of specs and client libraries for regress tests.How inline OneOf models generation is fixed
Added
x-deduction
andx-deduction-model-names
forvendorExtensions
. These extensions are used to generated Jackson annotation when the discriminator cannot be used. The discriminator uses the specific field value for deserialization decisions. However, according to the https://swagger.io/specification#discriminator-object first example,oneOf
can be used without the discriminator object. This case can be handled with Jackson recently addedJsonTypeInfo.Id.DEDUCTION
option.DEDUCTION
option forces Jackson to make deserialization decisions according to the available fields in the payload and Models which implementoneOf
interface/class.ToDo
Example output screenshots
Output examples
PR checklist
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*
.For Windows users, please run the script in Git BASH.
master
(5.3.0),6.0.x
@bbdouglas (2017/07) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) @karismann (2019/03) @Zomzog (2019/04) @lwlee2608 (2019/10) @nmuesch (2021/01)