Soy nuevo usando CXF y Spring para hacer RESTful webservices.RESTful produce el archivo binario
Este es mi problema: quiero crear un servicio que produzca "cualquier" tipo de archivo (puede ser imagen, documento, txt o incluso pdf), y también un XML. Hasta ahora obtuve este código:
@Path("/download/")
@GET
@Produces({"application/*"})
public CustomXML getFile() throws Exception;
No sé exactamente por dónde empezar, por favor tenga paciencia.
EDIT:
Código completo de Bryant Luk (gracias!)
@Path("/download/")
@GET
public javax.ws.rs.core.Response getFile() throws Exception {
if (/* want the pdf file */) {
File file = new File("...");
return Response.ok(file, MediaType.APPLICATION_OCTET_STREAM)
.header("content-disposition", "attachment; filename =" + file.getName())
.build();
}
/* default to xml file */
return Response.ok(new FileInputStream("custom.xml")).type("application/xml").build();
}
Intente comenzar explicando cuál es su problema. Hasta ahora, solo ha descrito lo que ha hecho, pero no ha mencionado lo que sucede cuando se ejecuta el código, los errores que ha encontrado, etc. –
¿Está tratando de hacer que el marco llame a su 'getFile() 'para cada solicitud en'/download', para que pueda generar el archivo solicitado? Creo * que lo que estás preguntando, en ese caso, es cómo la implementación de 'getFile()' puede descubrir lo que realmente se solicitó. – Wyzard
@Wyzard sí, espero que no sea mucho pedir tipo de implementación y anotación –