Created by: bjgill
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: master
,4.0.x
. Default:master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @frol @farcaller
Description of the PR
This is a workaround for https://github.com/OpenAPITools/openapi-generator/issues/318. In swagger-codegen, we did not support additionalProperties
and so ignored them.
In openapi-generator, we now get back a type (map
), where we got back a null previously. postProcessModels
doesn't have enough context to work out what sort of map is required (we don't know the types of the additionalProperties
).
Thus, this workaround detects this specific failure case and fiddles with the dataType
to get additionalProperties
ignored again. This will allow us to generate from specs containing additionalProperties
and have the resultant crates compile.
I've added in a warning to users to let them know what's happening.
I'm building on top of https://github.com/OpenAPITools/openapi-generator/pull/658 to allow us to add a test to ensure that we don't regress this in future.