Reputation: 2174
I am trying to add a Rest to my backend for uploading files. I use this code on the server:
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;
@POST
@Path("/upload_thesis")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
@DefaultValue("true") @FormDataParam("enabled") boolean enabled,
@FormDataParam("file") InputStream file,
@FormDataParam("file") FormDataContentDisposition fileDisposition
After I have packaged my program as a jar file and put it on the apache tomcat
server, I see this error on the server:
java.lang.RuntimeException: Wrong or absent annotation at parameter with index 1 at class
I use this version of jersey on my dependencies:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.29</version>
</dependency>
EDIT:
I think I have a dependency problem, I am confused which one I have to use:
import com.sun.jersey.core.header.FormDataContentDisposition;
import com.sun.jersey.multipart.FormDataParam;
or
import org.glassfish.jersey.media.multipart.FormDataBodyPart;
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataMultiPart;
import org.glassfish.jersey.media.multipart.FormDataParam;
Upvotes: 0
Views: 172
Reputation: 130857
It depends on the version of Jersey you are using:
com.sun.jersey
.org.glassfish.jersey
.When it comes to dependencies, pick the following for Jersey 1.x:
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-multipart</artifactId>
<version>${jersey.version}</version>
</dependency>
And the following dependency for Jersey 2.x:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>${jersey.version}</version>
</dependency>
Upvotes: 1