Я использую Spring для Android в проекте, и мне нужно управлять хранилищем/менеджером файлов cookie. Я могу добавлять файлы cookie к любому запросу, используя реализацию ClientHttpRequestInterceptor
, но я бы хотел удалить некоторые из них при отправке запроса.android-spring resttemplate управлять кукисами
Чтобы быть более конкретным, проблема я столкнулся в том, что, для Froyo, конкретная реализация в Spring
(с DefaultHttpClient
) автоматически добавляет к заголовкам печенье из CookieStore
- что даже если я устанавливаю явно заголовки. Но я хотел бы сам управлять этими куки (либо удалить некоторые из них, либо обновить их значения). Хотя для Gingerbread выше (Spring
реализация выполняется с HttpURLConnection
), файлы cookie добавляются только в том случае, если я делаю это сам - однако я не уверен, что я не вижу Spring, устанавливающего какой-либо CookieHandler
, но в итоге я не знаю, t видеть их при выполнении запроса или я могу видеть их обновленными. Таким образом, проблема более специфична для Froyo.
Обход - это перезагрузка фабрики соединений; что-то вроде:
protected void resetCookieStoreForTemplate(RestTemplate template) {
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.FROYO) {
template.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
}
}
Underneath, который, кажется, чтобы воссоздать DefaultHttpClient и будет использовать новый CookieStore
. Но это кажется мне немного уродливым.
Чтобы обернуть, мой вопрос будет: Spring for Android
предоставить некоторый метод для предоставления некоторого API для управления Cookie? Только способ RestTemplate предоставляет некоторые абстракции для подключения, фабрики подключений, преобразователей сообщений и т. Д., Я был бы очень рад иметь абстракцию для управления файлами cookie.
Bounty's gone: (... опубликует этот вопрос в сообществе 'Spring' и свяжет это с этим вопросом.Спасибо всем в любом случае – gunar