Created by: gferon
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
,./bin/security/{LANG}-petstore.sh
and./bin/openapi3/security/{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.
Description of the PR
While generating rust clients, I got blocked by two issues, so here are the fixes.
The first commit adds a serde
attribute to skip serialization if an optional field is unset - which means the field will be omitted instead of having "option": null
in the request. This is desirable because on the other-side, null is not a valid value.
The second commit adds support for enum
generation (the facilities to format name and values was already there in `RustClientCodegen.java) with a change to casing to be more rust-y.