Created by: thiagoarrais
OpenAPI allows parameters to bear the same name if they appear in different settings inside the same operation.
The code generated by the go-experimental go generator, though, can sometimes fail to compile due to parameters with the same name. Both the field in the api*Request
struct and the setter method names can clash if there are multiple parameteres with the same name.
This change fixes that by namespacing all the param names in the generated code with their origin.
This may also affect the stable Go generator because it messes with setExportParameterName, even though I've tried to limit my changes to the internal parts of the generated code. Please review accordingly.
Update: this PR was written before go-experimental
graduated to become the main go client and was edited accordingly.
PR checklist
-
Read the contribution guidelines. -
If contributing template-only or documentation-only changes which will change sample output, build the project before. -
Run the shell script(s) under ./bin/
(or Windows batch scripts under.\bin\windows
) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run./bin/{LANG}-petstore.sh
,./bin/openapi3/{LANG}-petstore.sh
if updating the code or mustache templates for a language ({LANG}
) (e.g. php, ruby, python, etc). -
File the PR against the correct branch: master
,4.3.x
,5.0.x
. Default:master
. -
Copy the technical committee to review the pull request if your PR is targeting a particular programming language.
cc @antihax @bvwells @grokify @kemokemo @bkabrda