es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo mostrar una respuesta elegante cuando se pasa un parámetro de solicitud utilizando MappingJackson2HttpMessageConverter.

Quiero mostrar una respuesta elegante en el navegador cuando alguien pasa un parámetro de solicitud como el siguiente, de lo contrario, no.

Encontré que la siguiente configuración funciona:

def jackson2HttpMessageConverter(): MappingJackson2HttpMessageConverter = {
val converter = new MappingJackson2HttpMessageConverter(objectMapper())
converter.setPrettyPrint(true)
converter
}

Pero la configuración anterior se aplica a todos los puntos finales de descanso. ¿Cómo puedo hacerlo solo en un punto final específico?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para aplicar la configuración setPrettyPrint(true) solo a un punto final específico, puedes crear una nueva instancia de MappingJackson2HttpMessageConverter con prettyPrint establecido en true y agregarlo al método del controlador de punto final específico.

    Primero, crea una nueva instancia de MappingJackson2HttpMessageConverter:

    MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
    
    converter.setPrettyPrint(true);
    

    Luego, agrega esta instancia a tu método del controlador de punto final específico usando el método setMessageConverters:

    @RequestMapping(value = "/api/abc", method = RequestMethod.GET)
    @ResponseBody
    public ResponseEntity<?> getAbc(@RequestParam("domain") String domain, @RequestParam("pretty") boolean pretty) {
    
        MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
        converter.setPrettyPrint(pretty);
    
        RestTemplate template = new RestTemplate();
        List<><?>> messageConverters = new ArrayList<>();
        messageConverters.add(converter);
        template.setMessageConverters(messageConverters);
    
        // tu lógica aquí
    
        return new ResponseEntity<>(result, HttpStatus.OK);
    }
    

    Ahora, cuando el parámetro pretty está establecido en true, la respuesta se mostrará con formato. De lo contrario, se devolverá sin formato.

Comments are closed.