Передача данных, параметров файла и пути в одном вызове REST API

#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]*
  

Итак, мои вопросы:

  1. Возможно ли то, о чем я спрашиваю, если да, то как?
  2. Как мне решить мою проблему, если это не может быть сделано так, как я думаю, как я могу получить данные в моей функции?

Заранее спасибо..