Created by: bobvanderlinden
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
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\
. If contributing template-only or documentation-only changes which will change sample output, be sure to build the project first. -
Filed the PR against the correct branch: master
,4.1.x
,5.0.x
. Default:master
. -
Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @leonyu
Description of the PR
At the moment the typescript-fetch
generator outputs interfaces for each operation. For example: OperationARequest
. This request interface can reside in multiple API classes when the specification has duplicate operation ids. This results in name collisions when the typescript library tries to export all types from the API files in a single file.
The duplicate operationIds are the result of OpenAPI specification generators that derive the specification from code. Usually they generate tags from classes and operationId from method names.
This PR will prefix the classname of the API to each of the {{operationId}}Request
interfaces. That way such collisions will happen to a lesser degree.
This replaces the PR filed against master (#3111).