我尝试使用RESTEasy创建RESTful Web服务。这是我的资源界面:
@Path("/report/{bookId}")
@GET
@Produces({"application/pdf", "application/xml"})
public Response getReport(@PathParam("bookId")Long book);
在Service实现bean中:
responseBuilder = Response.status(200).entity(byteArrayOutputStream.toByteArray()).type("application/pdf");
responseBuilder.header("Content-Disposition", "attachment; filename=\"Report.pdf\"");
} catch (Exception e) {
responseBuilder = Response.status(500).entity(new ErrorDTO("123",
"Could not get the report. Cause by " + e.getMessage()));
e.printStackTrace();
}
return responseBuilder.build();
但它不会这样。如果返回实体是PDF,它总是尝试将实体解析为XML。
如果成功,我想返回PDF,如果失败则返回XML。 任何的想法? 先谢谢!