[CppRest] Support optional parameters #6959
Merged
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.
PR checklist
./bin/to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.shand./bin/security/{LANG}-petstore.shif 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\.3.0.0branch for changes related to OpenAPI spec 3.0. Default:master.Description of the PR
This PR adds support for optional parameters (those marked as
required: falsein a swagger spec) usingboost::optional.Users of the client code can now pass
boost::noneto API calls for any optional parameters they are not interested in using.Notes:
in: pathparams are not covered because they cannot be optional (see OpenAPI spec).in: bodyparams are also not covered, as the implementation would be less trivial. The current behaviour for those params doesn't change, i.e. they are always required to make a call.boost::optionalis header-only, andboostitself is already required to compile the generated client code.