7
que tiene este servicio con RESTeasy:imagen en bruto en RESTeasy
@GET
@Path("/{name}")
@Produces("image/jpeg")
public BufferedImage get(@PathParam("name") String name) {
Monitor m = Monitor.getMonitor(name);
if (m == null) {
return null;
}
return m.getImage();
}
entonces consigo después de la solicitud
Could not find MessageBodyWriter for response object of type: java.awt.image.BufferedImage of media type: image/jpeg
¿Hay alguna "forma directa" para obtener la imagen en la respuesta?
Gracias a @Robert por instrucciones. Aquí código de trabajo:
@GET
@Path("/{name}")
@Produces("image/jpeg")
public byte[] get(@PathParam("name") String name) {
Monitor m = Monitor.getMonitor(name);
if (m == null) {
return null;
}
ByteArrayOutputStream bo = new ByteArrayOutputStream(2048);
try {
ImageIO.write(m.getImage(),"jpeg",bo);
} catch (IOException ex) {
return null;
}
return bo.toByteArray();
}
No shure por el comentario acerca sin cabeza, he corrido con decapitado = true y funciona como se esperaba. – PeterMmm
Bueno, suponía que las clases 'Monitor' y' ImageIO' no funcionarían en modo sin cabeza. Si lo hacen, ¡genial! –
@Produces ("image/jpeg") me faltaba este, en su lugar usé @Produces (MediaType.WILDCARD) – Sagar