/ / dropwizard: produce tanto html como json de la misma clase - java, dropwizard

dropwizard: produce tanto html como json de la misma clase - java, dropwizard

¿Hay alguna forma de controlar el formato de salida desde el lado del cliente?

Tengo una clase que

@Produces(MediaType.TEXT_HTML)

y quiero que produzca json cuando el cliente lo solicite.

Puedo copiar la clase textualmente, reemplazando solo la @Camino y @Productos anotaciones, pero esto parece un desperdicio total.

Me pregunto si el cliente podría añadir algo como & content-type = application / json ¿A la URL y que mi servidor responda con json en lugar de html?

Respuestas

9 para la respuesta № 1

Necesitará anotar los recursos para proporcionar HTML y JSON:

@Produces({MediaType.TEXT_HTML, MediaType.APPLICATION_JSON})

Entonces solo asegúrate de que tienes MessageBodyWriter implementaciones registradas para manejar el tipo de retorno del método. Dropwizard "s JacksonMessageBodyProvider debe manejar el JSON; Si estás usando Dropwizard Views, ViewMessageBodyWriter Debe manejar el resto. Jersey realizará la negociación de contenido con el cliente, siempre que su cliente tenga application/json en la solicitud "s Accept encabezamiento.