Я создаю простую форму для загрузки файла, используя версию джерси: 2.26. Моя система, использующая HTTP-контейнер grizzly, даже не запускается и выдает следующую ошибку.
org.glassfish.jersey.server.model.ModelValidationException
No injection source found for a parameter
Этот класс ресурсов не работает
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;
@Path("image")
public class ImageResource {
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail) {
return null;
}
}
ПОМ.XML
ИЗМЕНИТЬ Добавление кода для моего сервера гризли Сервер гризли
final ResourceConfig rc = new ResourceConfig()
.packages("rest.examples.jersey.main")
.packages("rest.examples.jersey.caching")
.packages("rest.examples.jersey.customdatatype")
.packages("rest.examples.jersey.subresource_locator")
.packages("rest.example.jersey.map_incoming_req_to_bean");
// create and start a new instance of grizzly http server
// exposing the Jersey application at BASE_URI
HttpServer createHttpServer = GrizzlyHttpServerFactory.createHttpServer(URI.create(BASE_URI), rc);
См. Я также пробовал это решение MULTIPART_FORM_DATA: не найден источник внедрения для параметра типа public javax.ws.rs.core.Response На самом деле я обновил свое решение (jars) из этого примера.
Спасибо
.register(MultiPartFeature.class)
послеpackages
. Это объясняется в посте, на который вы ссылаетесь. - person Paul Samsotha   schedule 05.08.2017packages("rest.examples.jersey")
, и все подпакеты также будут сканироваться. - person Paul Samsotha   schedule 05.08.2017