我使用RESTFUL
创建了Java Jersey
网络服务,我正在使用swagger
来获取API文档。然而,在我的RESTFUL服务的开发过程中,swagger注释更改是不可见的,我已经尝试清除浏览器缓存并使用其他浏览器,但新的更改并未反映Swagger API文档。 Swagger核心依赖项位于共享库目录中。
Wokaround 为了使更改生效,我必须删除Glass-fish中的以下文件夹。
然后重新部署应用程序(这需要完全关闭Glass fish服务器,否则系统不允许我删除上面的文件夹。)
我的问题: 1 - 我们有什么办法可以永久禁用缓存吗?
2 - 是否有任何方法可以在不重新启动或删除文件夹的情况下按需清除swagger缓存?
<dependency>
<groupId>com.wordnik</groupId>
<artifactId>swagger-jaxrs_2.10</artifactId>
<version>1.3.10</version>
</dependency>
答案 0 :(得分:1)
根据上述评论,解决方案是在应用程序启动期间使用com.wordnik.swagger.jaxrs.listing.ApiListingCache.invalidateCache()
。
应该注意的是,对于swagger-core的某些版本,某些部分是静态的,因此,将其用作共享库将覆盖所有在其上使用它的应用程序的定义。相同的应用服务器更好的解决方案是在每个应用程序中单独包含swagger-core依赖。