[python-fastapi] Added a base class for the actual implementation#14470
[python-fastapi] Added a base class for the actual implementation#14470wing328 merged 1 commit intoOpenAPITools:masterfrom
Conversation
It is very difficult to "merge" the changes, made by code generation,
and the changes, made by developers. It would be very useful to
separate the generated code and the code written by developers. In
addition this would remove the necessity to track the generated code.
Pyhton (since 3.6) has a hook, __init_subclasses__, that could be used
to solve exactly this problem.
The classes from *_base.py should be implemented in an ns package that is specified
by the additional parameter ("-p fastapiImplementationPackage=example_name").
Signed-off-by: Nikita Vakula <programmistov.programmist@gmail.com>
|
@spacether this PR is more about separating the generated code from the logic. I think it would be very convenient not to store the generated code in git. |
|
@krjakbrjak Where can we find a good example on how this works in practice? |
|
Hello, sorry to say but these changes make it substantially harder to integrate not easier. Please forgive me if this is over-bearing but these are the requirements of all generators for them to be usable (with details specific to the python-fastapi generator):
|
It is very difficult to "merge" the changes, made by code generation, and the changes, made by developers. It would be very useful to separate the generated code and the code written by developers. In addition this would remove the necessity to track the generated code. Pyhton (since 3.6) has a hook, init_subclasses, that could be used to solve exactly this problem.
The classes from *_base.py should be implemented in an ns package that is specified by the additional parameter ("-p fastapiImplementationPackage=example_name").
Signed-off-by: Nikita Vakula programmistov.programmist@gmail.com
PR checklist
This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example
./bin/generate-samples.sh bin/configs/java*.For Windows users, please run the script in Git BASH.
master(6.3.0) (minor release - breaking changes with fallbacks),7.0.x(breaking changes without fallbacks)@spacether