JAX-RS的问题

时间:2017-02-22 08:38:55

标签: java web-services jax-rs

我是JAX-RS的新手并且遇到了许多问题(奇怪的是让我想念SOAP)。这是我的代码片段。 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();
}

我的服务器日志上收到一条警告:“找不到类型为public javax.ws.rs.core.Response的参数的注入源”。我似乎不知道为什么。 2.我使用@QueryParam注释吗?我应该将它用于File和数组的类型吗?我在网上看到了很多关于@BeanParam,@ MatrixParam和@QueryParam的争论。由于我不知道前两个是做什么的,所以我决定保持简单。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我认为你不能将queryParam用于文件。您必须使用带有多部分表单的@Consumes。

检查一下: http://www.javatpoint.com/jax-rs-file-upload-example