[java-jersey2] Fix empty body when form parameters supplied #5169
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 #4866.
PR #3703 introduced a change to the Java
jersey2generator that dealt with errors that were occurring in the case where no body is supplied. It short-circuits with the empty JSON object as the body:multipart/form-dataorapplication/x-www-form-urlencoded), the above logic skips the creation of a body from the form parts. This pull request changes the logic to not miss the form parameter body construction.Entity.json("")was not intended (which results in the empty JSON object,{}, being used as body), and instead it was supposed to beEntity.text("")- i.e. the empty string. This pull request changes the entity in the case where there is no body (and it's not a form) to be the empty string.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.