#java #rest #jersey
#java #rest #джерси
Вопрос:
Я работал в REST API и пытаюсь добиться следующей работы, вот что мне нужно,
Я хочу опубликовать файл, идентификатор приложения и некоторые дополнительные данные JSON в одном вызове, поэтому, например, мой вызов будет выглядеть примерно так
@POST
@Path(app/{appId}/test)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response postConnectIos(@PathParam("appId") String appId,
@FormDataParam("file") InputStream fileIS){
/*
Code of handle here
*/
}
Этот код работает, и я могу получить содержимое файла, прочитав поток, а также получить параметр пути AppID, но я хочу добиться этого как
@POST
@Path(app/{appId}/test)
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response postConnectIos(@PathParam("appId") String appId,
@FormDataParam("file") InputStream fileIS,
MyRequest request){
/*
Code of handle here
*/
}
Теперь MyRequest — это, по сути, простой класс с одним именем поля, поэтому, если я правильно понимаю, для вызова этого api пользователь должен вызвать что-то таким образом,
Отправьте данные файла в blah_server /app/1234 /test с данными формы в виде :
{"name":"test"}
Но как только я создаю эту функцию с дополнительным параметром MyRequest, мой код начинает сбоить, сервер выдает ошибку со словами:
SEVERE: Missing dependency for method public javax.ws.rs.core.Response blah blah
*Please check [here][1]*
Итак, мои вопросы:
- Возможно ли то, о чем я спрашиваю, если да, то как?
- Как мне решить мою проблему, если это не может быть сделано так, как я думаю, как я могу получить данные в моей функции?
Заранее спасибо..