Существует несколько способов реализации каталогов API.
Swagger UI (с открытым исходным кодом)
Swagger UI 3.0.19+ может отображать несколько определений API с использованиемurl
параметр.
// index.html
const ui = SwaggerUIBundle({
dom_id: '#swagger-ui',
urls: [
{name: "petstore", url: "http://petstore.swagger.io/v2/swagger.json"},
{name: "instagram", url: "https://api.apis.guru/v2/specs/instagram.com/1.0.0/swagger.yaml"}
],
"urls.primaryName": "petstore", // default spec
...
Результат:
![Swagger UI top bar with spec selector](https://i.stack.imgur.com/SBzXc.png)
Поскольку Swagger UI является открытым исходным кодом, вы можете настроить его макет и внешний вид в соответствии с вашими потребностями.
SwaggerHub (коммерческий)
SwaggerHub предоставляет хостинг каталогов API для групп и организаций, как в облаке, так и локально.SwaggerHub также поддерживает разработку API, совместную работу, генерацию кода и интеграцию рабочих процессов.
Раскрытие информации: я работаю в компании, которая делает SwaggerHub.
![SwaggerHub: API catalog](https://i.stack.imgur.com/VjElm.png)