добавить обратные вызовы контроллера к сгенерированному серверу python - flask из openapi-generate - PullRequest
0 голосов
/ 02 апреля 2020

Я сгенерировал сервер python - flask с помощью генератора openapi. Сервер будет встроен в другое приложение, откуда я запустил свой сервер.

class Controller():
    def list_applications_handler(body):
       return "applications"
...
class CustomServer():
    def __init__(self):
       self.app = connexion.App(__name__, specification_dir=swagger_path)
       app.app.json_ecoder = encoder.JSONEncoder
       app.add_api(
           "swagger.yaml",
           pythonic_params=True
       )

       self.thread = Thread(
           target=waitress.serve,
           args=(app,),
           daemon=True,
       )
       self.thread.start()

К сожалению, в сгенерированном файле swagger из генератора openapi свойство x-openapi-router-controller XXX_swagger_server.controllers.XXX_controller устанавливается автоматически. Теперь вместо XXX_swagger_server.controllers.XXX_controller, но я хочу использовать package.server controller.Controller.

Как бы я назначил обратные вызовы для сгенерированных функций контроллера, чтобы функции контроллера использовались вместо сгенерированного модуля контроллера ? Класс контроллера находится в отдельном пакете.

Или я могу полностью переопределить x-openapi-router-controller Я не смог найти полезную опцию для этого в документации. Даже config-help -g python-flask не содержал никакой полезной опции. Я не смог изменить имя верхнего пакета для модуля контроллера.

...