Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

601
Vistas
Deserializar la respuesta de error sin el mapeador de objetos en WebClient onErrorResume

Me pregunto si hay una mejor manera de obtener una respuesta de error en WebClient de una manera que no implique el uso de ObjectMapper adicional al llamar a onErrorResume .

En mi cliente web:

 import org.springframework.web.reactive.function.client.WebClientResponseException.BadRequest // ... .onErrorResume(BadRequest::class.java, badRequestToMyDto())
 private fun badRequestToMyDto(): (BadRequest) -> Mono<out MyDto> = { it: BadRequest -> val error = objectMapper.readValue<ErrorResponseDto>(it.responseBodyAsByteArray) // ... }

Hay un método .bodyToMono , así que me pregunto si hay algo similar que pueda usarse en onErrorResume .

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede usar retrieve() en combinación con onStatus para obtener acceso a la respuesta del cliente cuando se trata de un "error". Luego puede invocar bodyToMono en él para desorganizar la respuesta a un objeto java. Según el tipo de contenido del cuerpo de la respuesta, Spring usará el decodificador correcto. Por ejemplo, si el cuerpo es json, usará un ObjectMapper para desorganizar.

 WebClient.builder().build() .get() .uri("localhost:8080") .retrieve() .onStatus(HttpStatus::isError, clientResponse -> clientResponse.bodyToMono(MyErrorResponse.class) .flatMap(body -> { // logic }) )
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda