Мне было интересно, можно ли сгруппировать сами пространства имен?
Наш проект сервера REST имеет сильно децентрализованную структуру (по принципу фрактального шаблона Redux), и каждая функция имеет собственное пространство имен. Это, как и ожидалось, привело к появлению множества пространств имен, и страница чванства сейчас становится довольно полной.
Если это недостижимо, я думаю, мы можем смириться с этим или рассмотреть возможность создания только json-файла swagger, который будет использоваться официальным пользовательским интерфейсом Swagger, который мы можем запустить на отдельном сервере. Но я бы предпочел решение restplus-y, поскольку оно представляет собой наименьшее трение кода.
@dmulter, у меня пока 45 пространств имен, каждое из которых ориентировано на функции и имеет свои собственные наборы операций получения, помещения, удаления и публикации. Надеюсь, это поможет мне понять мою дилемму.
Базовый Спецификация OpenAPI имеет концепцию тегов. Функция пространства имен в Flask-RESTPlus назначает эти имена как теги для определений путей, поэтому именно так вы получаете группировку в пользовательском интерфейсе Swagger. Спецификация не предлагает никакого механизма иерархической группировки, поэтому Flask-RESTPlus не предлагает такой функции.
Вы могли бы рассмотреть другую стратегию для назначения пространств имен / тегов для создания более управляемых группировок, разделения API на несколько страниц / сайтов пользовательского интерфейса Swagger и т. д. Похоже, что в вашем пользовательском интерфейсе Swagger нет необходимости отображать очень большое количество методов API. , поэтому сделать его более понятным с помощью общей структурирования контента может быть вашим лучшим подходом.
Что вы имеете в виду под группировкой пространств имен? Разве недостаточно группировки методов для каждого ресурса? Возможно, вы поделитесь своим пониманием размера вашего API (# ресурсы, # методы и т. д.), А также объясните, почему это проблема.