我正在将swagger UI集成到我的项目中。我需要传递 token 才能发出请求。
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命令显示为未定义,如下图
如果我删除了以下代码部分
/*
requestInterceptor: function (req) {
var key = mytoken;
if (key && key.trim() !== "") {
req.headers.Authorization = 'Bearer ' + key;
console.log('Authorized from authKey');
}
}, */
显示curl命令,但是响应抛出认证错误。
我不知道我在哪里想念它。如何同时显示CURL命令和响应。
最佳答案
根据the documentation of Swagger UI:
在提供的代码中,返回语句缺少。正确的代码将是:
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
}
关于javascript - 在swagger UI中显示为undefined且带有 token 的Curl命令。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60883186/