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
and./bin/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: Default: master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language.
Description of the PR
Previous error handling implementation had types returning
Either[CommonError, UserType]
, but implemented with the scala shortcut
???
which throws an exception instead. This causes compilation to fail
with a message that the expected CommonError is of type Any. This is
often fixable with generic upper bounds constraints, but this is
overkill for a placeholder implementation. Returning a temporary 'TODO'
type solves the compile error, and should allow CI to check for valid
compilation on changes.
Included in this is also a fix to support optional query parameter types. The spec used to generate the finch server has optional query parameters, but the version of finch in the template doesn't support options on query parameters. Finch does, however, aggregate everything (headers, query string, path parameters, etc) under "param" with "paramOption" for those which are optional types.