Подтвердить что ты не робот

PostMethod setRequestBody (String) устарел - почему?

Я использую Apache Commons HttpClient PostMethod 3.1.

В классе PostMethod существуют также три метода установки тела запроса метода POST:

setRequestBody(InputStream body)
setRequestBody(String body)
setRequestBody(NameValuePair[] parametersBody);

NameValuePair API

Первые два метода устарели. Кто-нибудь знает, почему? Потому что, если я хочу, чтобы XML запросил тело, NameValuePair не помогает мне.

Кто-нибудь знает обходное решение или решение?

4b9b3361

Ответ 1

В javadoc говорится:

Устаревшие. use setRequestEntity (RequestEntity)

RequestEntity имеет множество разработчиков, а именно:

ByteArrayRequestEntity, FileRequestEntity, InputStreamRequestEntity, MultipartRequestEntity, StringRequestEntity

Используйте ту, которая вам подходит:

  • если ваш xml находится в String, используйте StringRequestEntity
  • если он находится в файле, используйте FileRequestEntity

и т.д.

Ответ 2

Да, так, например,

post.setRequestEntity( new StringRequestEntity( xml ) );

вместо

post.setRequestBody( xml );