RESTEasy的文檔說除了使用「@GZIP」批註註釋服務器端點之外,還需要在運行時環境的類路徑中創建一個名爲「javax.ws.rs.ext.Providers」的文件,並且在文件中包含類名「org.jboss.resteasy.plugins.interceptors.encoding.GZIPEncodingInterceptor」。RESTEasy啓用GZIP支持?
我已經完成了上述所有操作,但即使響應「Content-Encoding」標頭爲「gzip」(即響應正文爲純文本/ json,但從服務器返回的響應未壓縮,儘管標題說了什麼)。
當部署到Tomcat時,javax.ws.rs.ext.Providers文件肯定位於.war和應用程序文件夾的WEB-INF/classes文件夾中,但RESTEasy忽略它。
那麼,有什麼我失蹤?有沒有人有這個工作?
編輯:好的,我發現RESTEasy實際上是在尋找完整路徑「META-INF/services/javax.ws.rs.ext.Providers」,所以我必須在我的文件夾路徑中加上文件資源文件夾。是的,這是令人困惑的,因爲.war檔案中已經有一個META-INF文件夾;但是,將「服務」子文件夾和「javax.ws.rs.ext.Providers」文件放在該META-INF文件夾中不起作用。嘆。
您是否使用數據包嗅探器確定未壓縮? – Namphibian
是的,我使用TCPMon來檢查流量並確定流量是未壓縮的JSON,儘管HTTP頭聲稱它是gzip。 –