spa*_*kus 4 java junit web-services multipartform-data jersey
我有一个essentailly上载的宁静的Web服务,上载了文件。我还没有为其构建UI。我想编写一个junit测试,它将调用该服务并获取上传的文件。我该怎么做?我看不到手工创建将表单传递给服务的方法。
这是我的休息服务:
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail) {
String uploadedFileLocation = "c://uploadedFiles/" + fileDetail.getFileName();
// save it
// saveToFile(uploadedInputStream, uploadedFileLocation);
String output = "File uploaded via Jersey based RESTFul Webservice to: " + uploadedFileLocation;
return Response.status(200).entity(output).build();
}
Run Code Online (Sandbox Code Playgroud)
我已经实现了以下代码,并且工作正常。让我知道您是否有任何问题:
FormDataMultiPart form = new FormDataMultiPart();
URI uri = new File("filepath").toURI();
InputStream data = this.getClass().getResourceAsStream("filePath");
FormDataBodyPart fdp1 = new FormDataBodyPart("key1", uri.toString());
FormDataBodyPart fdp2 = new FormDataBodyPart("key2",data, MediaType.APPLICATION_OCTET_STREAM_TYPE);
form.bodyPart(fdp1).bodyPart(fdp2);
response = builder.post(ClientResponse.class, form);
Assert.assertEquals(response.getStatus(), Status.OK.getStatusCode());
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2782 次 |
最近记录: |