Tôi mới sử dụng CXF và Spring để tạo các dịch vụ web RESTful.RESTful tạo tệp nhị phân
Đây là vấn đề của tôi: Tôi muốn tạo một dịch vụ tạo ra loại "bất kỳ" (có thể là hình ảnh, tài liệu, txt hoặc thậm chí pdf), và cũng là một XML. Cho đến nay tôi nhận được mã này:
@Path("/download/")
@GET
@Produces({"application/*"})
public CustomXML getFile() throws Exception;
Tôi không biết bắt đầu từ đâu nên hãy kiên nhẫn.
EDIT:
Toàn bộ quy tắc ứng Bryant Luk (cảm ơn!)
@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();
}
Hãy thử bắt đầu bằng cách giải thích vấn đề của bạn là gì. Cho đến nay, bạn đã chỉ mô tả những gì bạn đã làm, nhưng bạn chưa đề cập đến những gì xảy ra khi mã chạy, những lỗi bạn gặp phải, v.v. –
Bạn đang cố gắng làm cho khung công tác gọi hàm getFile của bạn() 'cho mọi yêu cầu trong'/download', vì vậy nó có thể tạo tệp được yêu cầu? Tôi nghĩ * những gì bạn đang yêu cầu, trong trường hợp đó, là cách thực hiện 'getFile()' có thể tìm ra những gì đã thực sự được yêu cầu. – Wyzard
@Wyzard vâng, tôi hy vọng không nhiều yêu cầu triển khai và loại chú thích –