我想在我的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的文档很差,我找不到解决方法
经过一些试验,如果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
}