[Server] support interface and implementation classes for API controllers
Description
For auto-generated server code, we want to generate 2 files for each API controller file:
- an interface, which will be overwritten by code generation
- an implementation class, which will not be overwritten by code generation
Java Spring has already implemented this: https://github.com/openapitools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/JavaSpring/api.mustache https://github.com/openapitools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/JavaSpring/apiController.mustache
The goal is to avoid application/business logic being overwritten by code generation so that there's less overhead when adding/deleting/updating endpoint definition.
Other server generators should leverage similar design.
openapi-generator version
Latest master
Related issues/PRs
https://github.com/swagger-api/swagger-codegen/issues/5431
Suggest a fix/enhancement
If anyone wants to contribute the enhancement, please reply to let us know.