Я хочу сгенерировать сервер Python Flask, предоставив в качестве входных данных определенную спецификацию OpenAPI - скажем, foo.yaml - с помощью следующей команды:
java -jar openapi-generator-cli.jar generate -i foo.yaml -g python-flask -o python-flask_api_server
Однако при этом генерируется заглушка сервера, содержащая файл с именем foo_controller.py в \ python-flask_api_server \ openapi_server \ controllers , и каждый метод, определенный в этом файле, возвращает одну и ту же строку шаблона:
'совершают магию! '
foo_controller.py
def foo_post(inline_object=None): # noqa: E501
"""Create a foo
# noqa: E501
:param inline_object:
:type inline_object: dict | bytes
:rtype: str
"""
if connexion.request.is_json:
inline_object = InlineObject.from_dict(connexion.request.get_json()) # noqa: E501
return 'do some magic!'
Что я пытаюсь сделать с OpenAPI Generator - это создать заглушку сервера, чей foo_controller.py ссылается на мою собственную реализацию этого файла, например, вот так:
foo_controller.py (созданный файл)
import foo_controller_impl
def foo_post(inline_object=None): # noqa: E501
"""Create a foo
# noqa: E501
:param inline_object:
:type inline_object: dict | bytes
:rtype: str
"""
foo_controller_impl.foo_post_impl(inline_object)
foo_controller_impl.py (моя реализация foo_controller.py)
def foo_post_impl(inline_object=None): # noqa: E501
if connexion.request.is_json:
inline_object = InlineObject.from_dict(connexion.request.get_json()) # noqa: E501
print("Request body is:\n" + str(inline_object))
response = "/foo/1"
return response
Я выполнил следующую команду для создания нового набора шаблонов:
java -jar openapi-generator-cli.jar meta -o my-codegen -n myCodegen -p org.openapitools.codegen
Но после прочтения сгенерированного README.md и проверка MycodegenGenerator.java мне до сих пор не очень понятно, как мне этого добиться.
Любая помощь будет принята с благодарностью.