¿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 № 1Necesitará 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.