Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

173
Views
Spring ClientHttpRequestInterceptor solicitud/respuesta vacía

Me gustaría obtener los cuerpos de solicitud y respuesta REST para fines de registro en mi aplicación.

Actualmente tengo una clase loggingRequestInterceptor que implementa ClientHttpRequestInterceptor, muy similar a la respuesta de sofiene aquí .

Luego agregué este interceptor como una propiedad dentro de mi plantilla de descanso en mi configuración de primavera.

Mi código se muestra a continuación:

 public class LoggingRequestInterceptor implements ClientHttpRequestInterceptor { private static final Logger logger = LoggerFactory.getLogger(LoggingRequestInterceptor.class); @Override public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException { ClientHttpResponse response = execution.execute(request, body); response = log(request, body, response); return response; } private ClientHttpResponse log(final HttpRequest request, final byte[] body, final ClientHttpResponse response) throws IOException { final ClientHttpResponse responseCopy = new BufferingClientHttpResponseWrapper(response); StringBuilder builder = new StringBuilder(); builder.append("Method: ").append(request.getMethod().toString()); builder.append("URI: ").append(request.getURI().toString()); builder.append("Request Body: ").append(new String(body,"UTF-8")); builder.append("Response body: ").append(convertStreamToString(responseCopy.getBody())); logger.info(builder.toString()); return responseCopy; } }

Propiedad de primavera en mi RestTemplate:

 <property name="interceptors"> <list> <bean class="com.company.projectName.service.api.rest.io.impl.LoggingRequestInterceptor" /> </list> </property>

Sin embargo, en todas mis llamadas de descanso registro el método y el URI, pero el cuerpo y el cuerpo de la respuesta están vacíos. ¿Cuál es la forma correcta de obtener los cuerpos de la solicitud y la respuesta para permitir que mi aplicación registre esta información?

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Solución: Primero, el cuerpo de la solicitud estaba en blanco porque este es un método GET. En segundo lugar, también necesitaba registrar el ResponseStatusCode ya que estaba recibiendo un estado de 204 que es Sin contenido, lo que resultó en un cuerpo de respuesta en blanco.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!