我在一個項目中使用Spring的Android,我需要管理cookie存儲/管理器。我可以通過使用ClientHttpRequestInterceptor
的實現向任何請求添加cookie,但是我想在發送請求時刪除其中的一部分。android-spring resttemplate管理cookie
更具體地講,我面臨的問題是,對於升級Froyo,在Spring
實施特定的(與DefaultHttpClient
),以頭從CookieStore
餅乾自動添加 - 即使我設置明確的標頭。但我想自己管理這些cookie(刪除其中的一些,或更新它們的值)。雖然上面的薑餅(Spring
執行與HttpURLConnection
完成)只有當我自己做的時候纔會添加餅乾 - 但是我不確定,因爲我沒有看到春天設置任何CookieHandler
,但底線是我不'在執行請求時看不到他們,或者我可以看到他們更新。所以這個問題對於Froyo更具體。
解決方法是重置連接工廠;是這樣的:
protected void resetCookieStoreForTemplate(RestTemplate template) {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO) {
template.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
}
}
在下面,這似乎重現DefaultHttpClient,並將使用新的CookieStore
。但是這在我看來有點難看。
總結起來,我的問題是:Spring for Android
是否提供了一些方法來公開一些用於Cookie管理的API?只要RestTemplate公開了一些關於連接,連接工廠,消息轉換器等的抽象概念,我將非常高興有一些抽象的cookie管理。
賞金逝去:(......將在'Spring'社區發佈這個問題,並將這個問題鏈接到這個問題。無論如何感謝 – gunar