ferdikoomen / openapi-typescript-codegen

NodeJS library that generates Typescript or Javascript clients based on the OpenAPI specification
MIT License
2.95k stars 524 forks source link

[Feature] add support for changing model property casing #1252

Open tolgap opened 2 years ago

tolgap commented 2 years ago

Some of us are "forced" to use APIs that accept and return PascalCase models.

It would be amazing if a --transformModelCase option was added. It would support snake, pascal, camel.

It would allow us to change a model from:

interface MyModel {
  Id: string;  
}

to

interface MyModel {
  id: string;
}

Of course, if casings are changed at the model level, this needs to be "reset" at the body/query level as well. Another option for this could be provided: --transformRequestCase and/or --transformResponseCase.

Or perhaps someone else has a better idea on how this could be achieved. I would love to know if anyone managed to get around this.

devraj commented 2 years ago

@tolgap I added some thoughts to this ticket ticket, we use Python and achieved this by transforming the output in the OpenAPI schema on the server.

A detailed description of the solution can be found on our project template