Мы пытаемся разработать службу REST, которая принимает загрузку нескольких файлов.
Я внес следующие изменения:
dependencies.gradle:
compile('jersey-multipart:1.2')
web.xml:
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>
WADL changes:
<resource path="/upload">
<method name="POST" id="upload" resource-operation="POST /upload">
<request>
<representation mediaType="multipart/form-data" />
</request>
<response status="200">
<representation element="n:Response" mediaType="application/xml"/>
</response>
</method>
</resource>
Java:
@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces("application/xml")
public Response uploadMethod(FormDataMultiPart file) throws FileNotFoundException {
<>some code here.....<> }
В POSTMAN, в Body мы выбираем параметр 'form-data 'и загрузите файл pdf в виде значения пары ключ-значение.
Когда я нажимаю на этот запрос с помощью POSTMAN, я получаю следующую ошибку:
Caused By: org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter not found for media type=multipart/form-data
....
....
....
at org.glassfish.jersey.message.internal.WriterInterceptorExecutor$TerminalWriterInterceptor.aroundWriteTo(WriterInterceptorExecutor.java:247)
at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162)
at org.glassfish.jersey.server.internal.JsonWithPaddingInterceptor.aroundWriteTo(JsonWithPaddingInterceptor.java:106)
at org.glassfish.jersey.message.internal.WriterInterceptorExecutor.proceed(WriterInterceptorExecutor.java:162)
at org.glassfish.jersey.server.internal.MappableExceptionWrapperInterceptor.aroundWriteTo(MappableExceptionWrapperInterceptor.java:86)
Truncated. see log file for complete stacktrace
Пожалуйста, дайте мнезнать об изменениях, необходимых для решения этой проблемы.
Я внес вышеупомянутые изменения по этой ссылке: https://howtodoinjava.com/jersey/jersey-file-upload-example/