我想上传一个JPG文件和JSON序列化的Java对象。 在服务器上,我使用Apache CXF,在客户端上我与集成测试休息,放心 。
我的服务器代码如下所示:
@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)
但不是。 谁能告诉我应该如何?