-
-
Notifications
You must be signed in to change notification settings - Fork 7.3k
[java] Support templated servers #4998
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] Support templated servers #4998
Conversation
|
👍 Thanks for opening this issue! The team will review the labels and make any necessary changes. |
847ba8a to
f1ddc18
Compare
f1ddc18 to
594f055
Compare
bkabrda
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice! I left two comments inline to consider, but they are really minor things. (Not a member of Java language committee, but hopefully the comments would be helpful anyway).
modules/openapi-generator/src/main/resources/Java/ApiClient.mustache
Outdated
Show resolved
Hide resolved
modules/openapi-generator/src/main/resources/Java/libraries/jersey2/ApiClient.mustache
Show resolved
Hide resolved
modules/openapi-generator/src/main/resources/Java/ServerConfiguration.mustache
Outdated
Show resolved
Hide resolved
63219ab to
d98c7dd
Compare
jimschubert
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks excellent!
| // to support (constant) query string in `path`, e.g. "/posts?draft=1" | ||
| WebTarget target = httpClient.target(this.basePath + path); | ||
| String targetURL; | ||
| if (serverIndex != null) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Notice here to consumers that if new server variable functionality causes issue, one may call setServerIndex(null) to revert to previous behavior. Current default behavior with the server index 0 behaves in the same way as before, but moves the URL configuration to the servers array.
|
This is great and adds functionality that most clients don't support. The samples are out of date which caused the build failures. I'll fix that and let the builds run, but then I'd like to merge this so people have some time to evaluate on SNAPSHOT before the 4.3.0 release in a couple weeks. |
* [java] Support templated servers * Deprecate old signature of invokeAPI method * throw ArrayIndexOutOfBoundsException * Update modules/openapi-generator/src/main/resources/Java/ServerConfiguration.mustache * [java] Regenerate samples Co-authored-by: Jim Schubert <[email protected]>
|
Please see a09271e#r40779493 |
Adds support for multiple templated servers from OpenAPI specification.
See related PR for Go: #4635
Addresses #590
PR checklist
./bin/(or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh,./bin/openapi3/{LANG}-petstore.shif updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).master,4.3.x,5.0.x. Default:master.cc @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