我是JAX-RS的新手,并且有许多问题(奇怪的是让我想念肥皂)。这是我的代码的片段。GetMergedPDFReport方法应获取文件并在处理后返回文件。之后,我会担心客户
@GET
@Produces("application/pdf")
@Path("merge-service")
public Response getMergedPDFReport(@QueryParam(ApiParameters.WORD_DOCUMENT) File wordDocument,
@QueryParam(ApiParameters.MERGE_FIELDS)Object[] fieldNames,
@QueryParam(ApiParameters.MERGE_VALUES) Object [] fieldValues) {
ResponseBuilder builder =null;
try {
File product = DocumentUtil.generatePDF(wordDocument, fieldNames, fieldValues);
builder = Response.ok(product);
builder.header("Content-Disposition", "attachment; filename=\"report.pdf\"");
} catch (Exception e) {
e.printStackTrace();
}
return builder.build();
}
我会在服务器日志上发出警告,上面写着"没有找到用于类型的公共javax.ws.rs.rs.core.response的注入源"。我似乎不知道为什么。2.我使用@queryparam注释了吗?我应该将其用于文件类型和数组吗?我在网上看到了很多关于@beanparam,@matrixparam和 @queryparam的辩论。由于我不知道前两个做什么,所以我决定保持简单。
任何帮助将不胜感激。
我认为您不能将queryparam用于文件。您必须使用带有多部分表格的@consumes。
检查以下内容:http://www.javatpoint.com/jax-rs-file-upload-example