PostMethod setRequestBody (String) obsoleto - ¿por qué?
-
21-09-2019 - |
Pregunta
Estoy usando Apache Commons HttpClient PostMethod 3.1.
En la clase PostMethod también hay tres métodos para configurar cuerpo de la petición del método POST:
setRequestBody(InputStream body)
setRequestBody(String body)
setRequestBody(NameValuePair[] parametersBody);
NameValuePair API
Los dos primeros métodos están en desuso. ¿Alguien sabe por qué? Porque si quiero poner un XML para solicitar cuerpo, NameValuePair no me ayuda.
¿Alguien sabe una solución o una solución?
Solución
El javadoc dice:
obsoleto. utilizar setRequestEntity (RequestEntity)
RequestEntity tiene una gran cantidad de los ejecutores, a saber:
ByteArrayRequestEntity, FileRequestEntity, InputStreamRequestEntity, MultipartRequestEntity, StringRequestEntity
Utilice el que más le convenga:
- si su xml está en una
String
, utilice elStringRequestEntity
- si está en un archivo, utilice el
FileRequestEntity
y así sucesivamente.
Otros consejos
Sí, así por ejemplo,
post.setRequestEntity( new StringRequestEntity( xml ) );
en lugar de
post.setRequestBody( xml );