Jestem nowy przy użyciu CXF i Spring, aby RESTful webservices.RESTful produkuje plik binarny
Oto mój problem: chcę utworzyć usługę, która tworzy "dowolny" rodzaj pliku (może to być obraz, dokument, txt lub nawet pdf), a także XML. Do tej pory otrzymałem ten kod:
@Path("/download/")
@GET
@Produces({"application/*"})
public CustomXML getFile() throws Exception;
Nie wiem dokładnie, od czego zacząć, więc proszę o cierpliwość.
EDIT:
Kompletny kod Bryant Luk (dzięki!)
@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();
}
Spróbuj rozpocząć od wyjaśnienia, jaki masz problem. Do tej pory opisałeś tylko to, co zrobiłeś, ale nie wspomniałeś o tym, co się dzieje, gdy działa kod, jakie napotkano błędy, itd. –
Czy próbujesz sprawić, by framework nazwał twoje 'getFile() 'dla każdego żądania w ramach'/download', dzięki czemu może wygenerować żądany plik? Ja * myślę, że * w tym przypadku pytasz, w jaki sposób implementacja 'getFile()' może dowiedzieć się, co faktycznie było wymagane. – Wyzard
@Wyzard tak, mam nadzieję, że nie wymagam wiele za implementację i typ adnotacji –