gpt4 book ai didi

java - 有什么方法可以对采用 MediaType.MULTIPART_FORM_DATA 进行文件上传的休息服务进行 junit 测试吗?

转载 作者:搜寻专家 更新时间:2023-11-01 02:27:22 25 4
gpt4 key购买 nike

我有一个基本上可以上传文件的 Restful 网络服务。不过,我还没有为它构建的 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();
}

最佳答案

我已经实现了以下代码并且运行良好。如果您对此有任何问题,请告诉我:

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());

关于java - 有什么方法可以对采用 MediaType.MULTIPART_FORM_DATA 进行文件上传的休息服务进行 junit 测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18665782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com