El comando Curl se muestra como indefinido con token en la interfaz de usuario swagger

8

Estoy integrando la interfaz de usuario swagger en mi proyecto. Necesito pasar el token para hacer una solicitud.

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",
});

Con el código anterior, obtengo una respuesta exitosa, pero el problema es que el comando curl se muestra como indefinido como en la imagen de abajoingrese la descripción de la imagen aquí

Si eliminé la siguiente parte del código

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

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

se muestra el comando curl pero la respuesta arroja el error de autenticación.

No sé exactamente dónde me lo estoy perdiendo. ¿Cómo mostrar el comando CURL y la respuesta?

mkHun
fuente
¿Puedes publicar también el código donde mytokenestá definido?
Helen
@Helen Agregué el token en la parte superior después de eso, estoy llamando al método.
mkHun

Respuestas:

2

De acuerdo con la documentación de Swagger UI :

requestInterceptor:

Function=(a => a). DEBE ser una función. Función para interceptar la definición remota, "Pruébelo" y las solicitudes de OAuth 2.0. Acepta un argumento requestInterceptor (solicitud) y debe devolver la solicitud modificada o una Promesa que resuelva la solicitud modificada.

En el código proporcionado falta la declaración de devolución . El código correcto será:

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
}
Zav
fuente