Команда curl отображается как неопределенная с токеном в пользовательском интерфейсе swagger. - PullRequest
8 голосов
/ 27 марта 2020

Я интегрирую пользовательский интерфейс Swagger в мой проект. Мне нужно передать токен, чтобы сделать запрос.

const mytoken = "heareismytoken";

const ui = SwaggerUIBundle({
    url: "/swagger/v2/swagger.json",
    dom_id: '#swagger-ui',
    deepLinking: true,
    requestInterceptor: function (req) {
        var key = mytoken;

        if (key && key.trim() !== "") {
            req.headers.Authorization = 'Bearer ' + key;
            console.log('Authorized from authKey');
        }
    },
    presets: [
        SwaggerUIBundle.presets.apis,
        SwaggerUIStandalonePreset
    ],
    plugins: [
        SwaggerUIBundle.plugins.DownloadUrl
    ],
    layout: "StandaloneLayout",
});

С помощью приведенного выше кода я получаю успешный ответ, но проблема в том, что команда curl отображается как неопределенная, как показано ниже: image enter image description here

Если я удалил следующую часть кода

    /* 
    requestInterceptor: function (req) {
        var key = mytoken;

        if (key && key.trim() !== "") {
            req.headers.Authorization = 'Bearer ' + key;
            console.log('Authorized from authKey');
        }
    }, */

, команда curl показывается, но в ответе выдается ошибка аутентификации.

Я не знаю точно, где мне это не хватает. Как отобразить как команду CURL, так и Response .?

1 Ответ

2 голосов
/ 30 марта 2020

Согласно документации Swagger UI :

requestInterceptor:

Function=(a => a). ДОЛЖЕН быть функцией. Функция для перехвата удаленного определения, «Попробуй» и OAuth 2.0 запросов. Принимает один аргумент requestInterceptor (request) и должен возвращать измененный запрос или Promise, который разрешает измененный запрос.

В предоставленном коде оператор возврата отсутствует . Правильный код будет:

requestInterceptor: function (req) {
    var key = mytoken;

    if (key && key.trim() !== "") {
        req.headers.Authorization = 'Bearer ' + key;
        console.log('Authorized from authKey');
    }
    return req; // <--- This line was added
}
...