1
내 서비스에 전달 된 json을 사용하여 xls 파일을 반환하는 서비스를 작성하고 있습니다. JAX-RS와 WINk를 사용하고 있습니다. json이 내 서비스에 전달한 것이 URL에서 @QueryParam이 되기에는 너무 복잡하기 때문에 @GET 대신 @POST 메소드를 사용하고 싶습니다.get 대신 post 메서드를 사용하여 안정적인 다운로드 서비스 구현
질문 :@GET을 사용하는 경우 서비스에 의해 반환 된 파일을 다운로드하기 위해 브라우저에 URL을 붙여 넣을 수 있지만, @POST를 사용하면 서비스에서 반환 한 파일을 어떻게 다운로드 할 수 있습니까? ?
사용자가이 서비스에 요청을 게시하면 "OPEN", "다운로드"또는 "취소"중 하나를 묻는 창이 나타납니다. 크롬과 IE의 저장 대화 상자를 표시하는 마법처럼
<form action="rest/report/users" method="post">
ID: <input type="text" name="id"><br>
<input type="submit">
</form>
그리고
@Path("/report")
public class ReportResource {
@Path("users")
@POST
@Produces(MediaTypeUtils.MS_EXCEL)
public Response getUsers(@FormParam("id") String id) {
// Build the report and get the instance of java.io.File
ResponseBuilder response = Response.ok(file);
response.header("Content-Disposition","attachment; filename=report.xls");
return response.build();
}
}
작품 :
덕분에! – doranT
특히 나를 좋아하는 또 다른 방법은 JQuery입니다. Look ['jQuery.post()'] (http://stackoverflow.com/a/3506018/870248). –