PostMethod setRequestBody (String) устарел - почему?
Я использую Apache Commons HttpClient PostMethod 3.1.
В классе PostMethod существуют также три метода установки тела запроса метода POST:
setRequestBody(InputStream body)
setRequestBody(String body)
setRequestBody(NameValuePair[] parametersBody);
NameValuePair API
Первые два метода устарели. Кто-нибудь знает, почему? Потому что, если я хочу, чтобы XML запросил тело, NameValuePair не помогает мне.
Кто-нибудь знает обходное решение или решение?
Ответы
Ответ 1
В javadoc говорится:
Устаревшие. use setRequestEntity (RequestEntity)
RequestEntity имеет множество разработчиков, а именно:
ByteArrayRequestEntity, FileRequestEntity, InputStreamRequestEntity, MultipartRequestEntity, StringRequestEntity
Используйте ту, которая вам подходит:
и т.д.
Ответ 2
Да, так, например,
post.setRequestEntity( new StringRequestEntity( xml ) );
вместо
post.setRequestBody( xml );