如何在 Swagger UI 中禁用缓存

问题描述 投票:0回答:3

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

我尝试在 swagger-ui 的 index.html 中添加

<html manifest="example.appcache">
,清单文件具有以下配置

CACHE MANIFEST
NETWORK:
*

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

json swagger swagger-ui
3个回答
0
投票

Swagger 存储库问题进行了讨论和一些解决方案,例如创建请求拦截器并在发送请求之前设置标头:

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,

0
投票

如果您使用版本 3 (Springdoc),您只需将以下内容添加到您的 application.yaml 文件中。

springdoc:
  cache:
    disabled: true

application.properties 文件的相关属性。


0
投票

您只需在浏览器开发工具(网络选项卡)中禁用缓存即可。

© www.soinside.com 2019 - 2024. All rights reserved.