mkH*_*Hun 8 javascript swagger swagger-ui
我正在我的项目中集成 swagger UI。我需要传递令牌才能提出请求。
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",
});
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,我得到了成功的响应,但问题是 curl 命令显示为未定义,如下图所示
如果我删除了以下代码部分
/*
requestInterceptor: function (req) {
var key = mytoken;
if (key && key.trim() !== "") {
req.headers.Authorization = 'Bearer ' + key;
console.log('Authorized from authKey');
}
}, */
Run Code Online (Sandbox Code Playgroud)
显示 curl 命令,但响应抛出身份验证错误。
我不知道我到底在哪里错过了它。如何同时显示 CURL 命令和响应。?
请求拦截器:
Function=(a => a)。必须是一个函数。拦截远程定义、“尝试一下”和 OAuth 2.0 请求的函数。接受一个参数 requestInterceptor(request)并且必须返回修改后的 request,或者解析为修改后的 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
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
539 次 |
| 最近记录: |