我有一个基于 RESTeasy 的 REST Web 服务(见下文)。我正在尝试使用 google REST 客户端执行请求来测试我的服务,但我不确定应该如何设置请求。
我不知道如何发送 byte[]
作为参数( filedata
)。
关于如何测试这个的任何想法?
我收到以下异常:
java.io.IOException: Unable to get boundary for multipart
和
request:
-content-type=multipart/form-data
-form params:
test=testvalue
休息方法:
@POST
@Path("/upload")
@Consumes("multipart/form-data")
public Response create(@MultipartForm FileUploadForm form) {
System.out.println("form=" + form.getTest());
return null;
}
FileUploadForm Pojo:
import javax.ws.rs.FormParam;
import org.jboss.resteasy.annotations.providers.multipart.PartType;
public class FileUploadForm {
private byte[] filedata;
private String test;
public FileUploadForm() {}
public byte[] getFileData() {
return filedata;
}
@FormParam("filedata")
@PartType("application/octet-stream")
public void setFileData(final byte[] filedata) {
this.filedata = filedata;
}
public String getTest() {
return test;
}
@FormParam("test")
@PartType("application/json")
public void setTest(String test) {
this.test = test;
}
}
最佳答案
您需要将此 header 添加到您的请求中:
Accept-Encoding:multipart/form-data
通常你使用这样的内容类型:
Content-Type: image/png
你可以用 Postman REST client 测试它
我附上了一张关于如何填写表格的图片。
关于rest - 使用REST客户端调用multipart/form-data Rest web service,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5723429/