我是新的使用CXF和Spring來製作REST風格的Web服務。RESTful生成二進制文件
這是我的問題:我想創建一個產生「任何」類文件(可以是圖像,文檔,txt甚至pdf)的服務,也可以是XML。到目前爲止,我得到了這樣的代碼:
@Path("/download/")
@GET
@Produces({"application/*"})
public CustomXML getFile() throws Exception;
我不知道從哪裏開始,所以請耐心等待。
編輯:科比漉的
完整代碼(謝謝!)
@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();
}
試着從解釋你的問題開始。到目前爲止,你只描述了你已經完成的工作,但是你沒有提到代碼運行時會發生什麼,遇到了什麼錯誤等等。 –
你是否想讓框架調用你的'getFile() ''對於'/ download'下的每個請求,所以它可以產生請求的文件?我*想*你在問什麼,在這種情況下,'getFile()'的實現是如何找出實際要求的。 – Wyzard
@Wyzard是的,我希望沒有太多要求實現和註釋類型 –