我想上传一个JPG文件和一个JSON序列化的Java对象。在我使用Apache CXF的服务器上,在客户端上,我正在使用rest-assured进行集成测试。带CXF的JAX-RS/rest-assured:处理多参数文件上传
我的服务器代码如下所示:
@POST
@Path("/document")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response storeTravelDocument(
@Context UriInfo uriInfo,
@Multipart(value = "document") JsonBean bean,
@Multipart(value = "image") InputStream pictureStream)
throws IOException
{}
我的客户端代码如下所示:
given().
multiPart("document", new File("./data/json.txt"), "application/json").
multiPart("image", new File("./data/image.txt"), "image/jpeg").
expect().
statusCode(Response.Status.CREATED.getStatusCode()).
when().
post("/document");
一切,当我读了JSON部分从文件中第一行多工作正常。但是,当我想序列化json实例时,我遇到了问题。我尝试了很多变种,但都没有奏效。
我想这应该变种工作:客户端
JsonBean json = new JsonBean();
json.setVal1("Value 1");
json.setVal2("Value 2");
given().
contentType("application/json").
formParam("document", json).
multiPart("image", new File("./data/image.txt"), "image/jpeg").
...
和服务器
public Response storeTravelDocument(
@Context UriInfo uriInfo,
@FormParam(value = "document") JsonBean bean,
@Multipart(value = "image") InputStream pictureStream)
上却没有。谁能告诉我应该如何?
感谢您的帮助!尝试之前(不是与JAXB,但没有工作,你不能混用body和multiPart。它没有工作的原因也可以是http://code.google.com/p/rest-assured/issues/详细信息?id = 167我们将在下一个版本中看到rest-assured。 – ChrLipp 2012-04-26 14:05:01
运气不好然后:(抱歉,我忍不住 – 2012-04-26 18:11:39
没问题!谢谢! – ChrLipp 2012-04-27 05:39:05