Управление версиями API с помощью Flask Blueprints и Flasgger

Я использую два разных проекта в одном приложении, чтобы зарегистрировать разные URL-адреса API для разных версий, например, "/ v1" и "/ v2". Я хочу, чтобы документы Swagger API не собирали обе конечные точки.

Мы используем переопределение Swagger класс из Flashgger, где мы хотим иметь два разных API specsпо одному на каждый проект.

Поскольку некоторые из наших конечных точек остались нетронутыми в нашем API v1, мы сделали следующее:

@api_v1.route('/foo', methods=['GET'])
@api_v2.route('/foo', methods=['GET'])
def foo():
    return v1.foo()

Тем не менее, потому что оба проекта зарегистрированы под одним и тем же app Например, Flasgger выбирает оба маршрута, поэтому дважды показывает одну и ту же конечную точку (один раз с "v1/" и один раз с "v2/") в документах.

Можно ли заставить Swagger/Flasgger брать только один Blueprint для данной спецификации?

0 ответов

Другие вопросы по тегам