Facebook的stetho似乎只对OKHTTP提供了很大的支持,对于Android的所有其他网络框架几乎没有支持:http://facebook.github.io/stetho/#integrations
我正在使用Spring RestTemplate,我想知道如何让我和Spring一起玩得很好。我知道我可以在Spring Resttemplate中使用OKHTTP,但我更喜欢保持我的应用程序很小,并且希望避免在我的应用程序中添加额外的网络库:
基于OkHttp的额外ClientHttpRequestFactory可用作 两个本地客户的替代品。 RestTemplate可以 配置为通过RestTemplate使用OkHttpRequestFactory 构造函数或通过设置requestFactory属性。它受到支持 在Android 2.3(姜饼)和更新,但为了使用它, 您必须在项目中包含OkHttp依赖项。
看来我的Spring RestTemplate使用HttpURLConnection进行调用,似乎有关于如何使用HttpURLConnection进行stetho工作的说明,但说明非常简短:
如果您使用的是HttpURLConnection,则可以使用 StethoURLConnectionManager可以帮助您进行集成 应该意识到这种方法有一些警告。在 特别是,您必须明确地将Accept-Encoding:gzip添加到 请求标头并手动处理压缩响应 Stetho报告压缩的有效载荷大小。
但是,我担心上面的说明在我的情况下不起作用,因为我使用clienthttprequestinterceptor
发送我的请求并在发送之前添加授权标头。这会导致GZIP压缩根据此线程发生两次:
RestTemplate with ClientHttpRequestInterceptor causes GZIP compression twice
有没有人成功使用Spring RestTemplate for Android的stetho?目前,解决方法是使用Charles Proxy(付费替代方案)来检测所有网络呼叫而不是stetho。