Я пытаюсь загрузить файл для JAX-RS с использованием multipart/form-data. Когда я пытаюсь запустить сервер он дает мне эту ошибку:MULTIPART_FORM_DATA: Не найден источник инъекции для параметра типа Response
[[FATAL] No injection source found for a parameter of type public javax.ws.rs.core.Response
com.pododdle.resources.UploadResource.uploadAudio(int,int,java.io.InputStream,org.glassfish.jersey.media.multipart.FormDataContentDisposition)
at index 2.;source='ResourceMethod{httpMethod=POST, consumedTypes=[multipart/form-data], producedTypes=[text/html], suspended=false, suspendTimeout=0, suspendTimeoutUnit=MILLISECONDS, invocable=Invocable{handler=ClassBasedMethodHandler{handlerClass=class
com.pododdle.resources.UploadResource, handlerConstructors=[[email protected]]}, definitionMethod=public javax.ws.rs.core.Response
com.pododdle.resources.UploadResource.uploadAudio(int,int,java.io.InputStream,org.glassfish.jersey.media.multipart.FormDataContentDisposition), parameters=[Parameter [type=int, source=auction_id, defaultValue=null], Parameter [type=int, source=category_id, defaultValue=null], Parameter [type=class java.io.InputStream, source=file, defaultValue=null], Parameter [type=class org.glassfish.jersey.media.multipart.FormDataContentDisposition, source=file, defaultValue=null]], responseType=class javax.ws.rs.core.Response}, nameBindings=[]}']
Мой pom.xml выглядит следующим образом:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${jersey.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.jvnet.mimepull</groupId>
<artifactId>mimepull</artifactId>
<version>1.9.6</version>
</dependency>
</dependencies>
<properties>
<jersey.version>2.22.1</jersey.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
Версия mimepull, который работает с версией 2.22.1 трикотажа я отсюда: https://www.versioneye.com/java/org.glassfish.jersey.media:jersey-media-multipart/2.22.1
Есть ли что-то, что мне не хватает или неправильно настроили? Am новичок в этом, так легко идти на меня ... :)
Зарегистрировали ли вы 'MultipartFeature' в своем классе' ResourceConfig'? Что-то вроде 'register (MultipartFeature.class);'. –
Привет, Кассио, у меня нет класса resourceconfig. Нужен ли он мне и что он делает? –
У вас может быть один. Но вы также можете зарегистрировать эту функцию в 'web.xml'. –