在一次调用REST API中传递数据,文件和路径参数

时间:2014-07-02 12:03:04

标签: java rest jersey

我一直在REST Apis工作,并且正在努力让以下工作,这就是我需要的,

我想在同一个调用中发布文件,appId和一些额外的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 Path参数,但我希望实现此目的

@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. 如果我不能按照我的思维方式完成问题,如何解决问题?如何在我的函数中获取数据?
  3. 提前致谢..

0 个答案:

没有答案