java – 在泽西岛2.17找不到@FormDataParam

前端之家收集整理的这篇文章主要介绍了java – 在泽西岛2.17找不到@FormDataParam前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对Web服务很新,所以我已经开始了基本的例子.这一个涉及文件上传.我正在为非Maven开发人员使用最新的(2.17)版本的泽西束.它指出:

bundle contains the JAX-RS 2.0 API jar,all the core Jersey module jars as well as all the required 3rd-party dependencies

.问题是我无法编译这部分:

@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
    @FormDataParam("file") InputStream uploadedInputStream,@FormDataParam("file") FormDataContentDisposition fileDetail) {
    String uploadedFileLocation = "d://uploaded/" + fileDetail.getFileName();
    // save it
    writeToFile(uploadedInputStream,uploadedFileLocation);
    String output = "File uploaded to : " + uploadedFileLocation;
    return Response.status(200).entity(output).build();
}

看起来,@FormDataParam不存在于泽西2.17包中,尽管docs表示它. 2.17束是否不完整?如何解决这个问题?

解决方法

该软件包只包含核心模块(及其依赖项).不幸的是,Multipart不是核心的一部分.你也需要 this dependency(Maven)
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>2.17</version>
</dependency

如果你不使用Maven,从我可以告诉的,这个工件只有一个其他的依赖关系(这个还没有包含在bundle中),而且它是mimepull-1.9.3.

您可以下载这两个工件

> jersey-media-multipart
> mimepull-1.9.3

猜你在找的Java相关文章