如何在Swagger UI中禁用缓存

时间:2016-07-20 11:38:15

标签: json swagger swagger-ui

我正在使用swagger UI来记录API。我使用docker部署了Ui和节点服务器(具有JSON)。部署之后,当我在JSON文件中进行更改时,除非我刷新整个页面,否则不会反映在swagger-UI中。

我尝试在swagger-ui的index.html中添加<html manifest="example.appcache">,并且清单文件包含以下配置

CACHE MANIFEST
NETWORK:
*

即使在设置清单后,JSON仍然从缓存中加载。请有人帮忙吗。

1 个答案:

答案 0 :(得分:0)

关于Swagger repository issues的讨论和一些解决方案,例如创建请求拦截器并在发送请求之前设置标头:

var interceptor = {
    requestInterceptor: {
        apply: function (requestObj) {

           var headers = request.Obj.headers || {};

           headers['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';
           headers['Cache-Control'] = 'no-cache';
           headers['Pragma'] = 'no-cache';
           return requestObj;
       }
    }
};

// assign the request interceptor in the UI
new SwaggerClient({
  url: 'http://localhost:8000/v2/petstore.json',
  requestInterceptor: interceptor.requestInterceptor,