Created by: markus-wa
PR checklist
-
Read the contribution guidelines. -
Ran the shell script under ./bin/
to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\
. -
Filed the PR against the correct branch: master
,. Default:3.4.x
,4.0.x
master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language.
cc: @jimschubert (2017/09) @dr4ke616 (2018/08)
Description of the PR
This fixes a regression introduced (presumeably) by #1107 / #1106 (closed)
The parameter types should only be non-nullable if they are either required or have a default value. Since defaultValue
is "null"
(a string) by default, mustache treats it as a value (not-false or unset) the {{#defaultValue}}bla{{/defaultValue}}
branch was alway hit, never {{^defaultValue}}....
.
This change follows a similar pattern of the C# generator which uses the helper property isNullable
for this instead.
It also fixes Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "null"
if the optional parameter isn't provided in the request by removing the defaultValue
parameter if it's "null"
.