我想在swagger-ui 3.0版上支持多个json版本。
每个ajax调用的第二个json我想添加一个自定义标题
名称为x-api-version
,值为2
我试过这个:
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('x-my-custom-header', 'some value');
}
});
但它不起作用。 swagger ui 3.0.0的文档很差,我找不到解决方案
答案 0 :(得分:0)
经过一些实验,如果Swagger使用jquery处理OPTIONS请求,而使用superagent客户端HTTP请求库处理其他类型的请求,例如GET,POST等...
因此,要为Swagger-UI中的每个请求添加自定义标头,请使用以下代码:
$(document).ready(function () {
// Intercept jquery ajax request
$.ajaxSetup({
beforeSend: function (xhr, settings) {
// Add the header to the Ajax request
xhr.setRequestHeader("Authorization", getHeader());
},
// Disable caching of AJAX responses
cache: false
});
// Intercept superagent request
window.swaggerUi.options["requestInterceptor"] = function () {
// Add the header to the request
this.headers.Authorization = getHeader();
return this;
};
});
function getHeader() {
var header = ... some code to calculate or generate a header ...
return header
}