我正在使用 swagger UI 来记录 API。我已经使用 docker 部署了 Ui 和节点服务器(具有 JSON)。部署后,当我在 JSON 文件中进行更改时,除非刷新整个页面,否则不会在 swagger-UI 中反映出来。
我尝试在 swagger-ui 的 index.html 中添加
<html manifest="example.appcache">
,清单文件具有以下配置
CACHE MANIFEST
NETWORK:
*
即使在设置清单之后,JSON 仍然会从缓存中加载。有人可以帮忙吗?
对 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,
如果您使用版本 3 (Springdoc),您只需将以下内容添加到您的 application.yaml 文件中。
springdoc:
cache:
disabled: true
或 application.properties 文件的相关属性。