Предоставление двух swagger Open API-спецификаций на одном сервере nodejs через два разных URL - PullRequest
2 голосов
/ 05 февраля 2020

Мне нравится выставлять две разные спецификации сваггера, например, внутреннюю. json и внешнюю. json на node js сервере с использованием пакета swagger-ui- express npm.

Я следовал данная инструкция https://www.npmjs.com/package/swagger-ui-express и любой из чванства работает с кодом ниже.

const express = require("express");
const swaggerUi = require('swagger-ui-express');
const internalSpec = require('../../swagger/internal.json');
const externalSpec = require('../../swagger/external.json');

module.exports = function (app) {
    const router = express.Router();

    router.use('/', swaggerUi.serve);
    router.get('/', swaggerUi.setup(internalSpec));

    app.use("/apispec", router);
};

Но если я использую router.get ('/ external', swaggerUi.setup (externalSpe) * * тысяча двадцать-одиной)); снова, чтобы получить доступ ко второму Spe c через ../apispec/external/, я вижу externalSpe c в обоих / apispe c, а также в / apispec / extenal url. Полагаю, swaggerUi.setup () из пакета swagger-ui- express создает одноэлементный экземпляр Swagger, который перезаписывает ранее созданные настройки.

Я пробовал другой похожий вопрос swagger-ui- express Несколько маршрутов для другой документации API , но на этот вопрос пока нет ответа.

Есть решение, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...