Estoy buscando una forma de acceder directamente al cuerpo de la solicitud HTTP. De hecho, en mi código recibo diferentes parámetros en el cuerpo y no sé de antemano exactamente lo que recibiré. Además, quiero ser lo más flexible posible: estoy tratando con diferentes solicitudes que pueden variar y quiero manejarlas en un único método para cada tipo de solicitud (GET, POST, ...). ¿Hay alguna manera de manejar este nivel de flexibilidad con RESTEasy? ¿Debería cambiar a otra cosa?Cómo acceder al cuerpo de la solicitud HTTP con RESTEasy
6
A
Respuesta
5
Según el código proporcionado en this answer, puede acceder al objeto HTTPServletRequest.
Una vez que tenga el objeto HTTPServletRequest, podrá acceder al cuerpo de la solicitud de la forma habitual. Un ejemplo puede ser:
String requestBody = "";
StringBuilder stringBuilder = new StringBuilder();
BufferedReader bufferedReader = null;
try {
InputStream inputStream = request.getInputStream();
if (inputStream != null) {
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
char[] charBuffer = new char[128];
int bytesRead = -1;
while ((bytesRead = bufferedReader.read(charBuffer)) > 0) {
stringBuilder.append(charBuffer, 0, bytesRead);
}
} else {
stringBuilder.append("");
}
} catch (IOException ex) {
throw ex;
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException ex) {
throw ex;
}
}
}
requestBody = stringBuilder.toString();
Cuestiones relacionadas
- 1. Interceptar cuerpo de solicitud HTTP desde la extensión de cromo
- 2. Rubí - Obtener solicitud cuerpo de la llamada entrante HTTP
- 3. HTTP Post Con Cuerpo
- 4. Devolver error HTTP desde la interfaz RESTeasy
- 5. ¿Se requiere una solicitud HTTP PUT para incluir un cuerpo?
- 6. Cómo capturar datos completos de solicitud HTTP (encabezados y cuerpo) con PHP?
- 7. Cómo extraer el cuerpo del mensaje HTTP en BaseHTTPRequestHandler.do_POST()?
- 8. ¡No puedo leer el cuerpo de mi solicitud POST HTTP con PHP!
- 9. ¿Cómo accedo a la solicitud HTTP?
- 10. ¿La URL de solicitud HTTP no forma parte del encabezado de solicitud HTTP?
- 11. Interceptación basada en el encabezado HTTP en RESTeasy
- 12. Cómo convertir el cuerpo de la solicitud HTTP en el objeto JSON en Java
- 13. ¿Cómo puedo acceder a los datos de solicitud HTTP sin procesar con PHP/apache?
- 14. ¿Cómo acceder a la solicitud en JspTags?
- 15. HTTP PUT Solicitud con Node.js
- 16. Contenido Longitud de la solicitud de HTTP> tamaño del cuerpo
- 17. Cuerpo de solicitud de acceso en un WCF RESTful Service
- 18. python solicitud http con token
- 19. Elmah: Cómo obtener el cuerpo de solicitud de JSON HTTP del informe de error
- 20. Embarcadero de integración con RESTEasy
- 21. ¿Cómo hacer la solicitud de keepalive http con curl?
- 22. Cómo aislar los encabezados HTTP/cuerpo de una solicitud de sockets PHP
- 23. ¿Cómo enviar la solicitud HTTP POST con contenido gziped?
- 24. django: cómo acceder al usuario de solicitud actual en ModelForm?
- 25. ¿Cómo extraer el cuerpo de respuesta HTTP de una llamada de solicitud de Python?
- 26. ¿Cómo debería ser el cuerpo de la solicitud?
- 27. Http Opción Método con solicitud de Javascript
- 28. Cómo enviar una solicitud http en la aplicación Android para acceder a la API REST
- 29. ¿No está obteniendo el cuerpo de respuesta para la solicitud de http en android?
- 30. ¿Cómo puedo crear una solicitud HTTP POST con Qt 4.6.1?
He intentado usar MessageBodyReaderInterceptor, pero ni siquiera estoy seguro de que esté hecho para hacer lo que quiero. Por lo que sé, generalmente con RESTEasy escribes métodos que aceptan un POJO o varios parámetros, pero no los conozco, así que no puedo especificarlos ... – Raffo