使用REST客户端调用multipart/form-data Rest Web服务

前端之家收集整理的这篇文章主要介绍了使用REST客户端调用multipart/form-data Rest Web服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个基于RESTeasy的REST Web服务(见下文).我正在尝试使用谷歌REST客户端来执行测试我的服务的请求,但我不确定应该如何设置请求.

我不知道如何将byte []作为param(filedata)发送.
关于如何测试这个的任何想法?

我得到以下异常:

java.io.IOException: Unable to get boundary for multipart

  1. request:
  2. -content-type=multipart/form-data
  3. -form params:
  4. test=testvalue

休息方法

  1. @POST
  2. @Path("/upload")
  3. @Consumes("multipart/form-data")
  4. public Response create(@MultipartForm FileUploadForm form) {
  5. System.out.println("form=" + form.getTest());
  6. return null;
  7. }

FileUploadForm Pojo:

  1. import javax.ws.rs.FormParam;
  2. import org.jboss.resteasy.annotations.providers.multipart.PartType;
  3.  
  4. public class FileUploadForm {
  5. private byte[] filedata;
  6. private String test;
  7.  
  8. public FileUploadForm() {}
  9.  
  10. public byte[] getFileData() {
  11. return filedata;
  12. }
  13.  
  14. @FormParam("filedata")
  15. @PartType("application/octet-stream")
  16. public void setFileData(final byte[] filedata) {
  17. this.filedata = filedata;
  18. }
  19.  
  20. public String getTest() {
  21. return test;
  22. }
  23.  
  24. @FormParam("test")
  25. @PartType("application/json")
  26. public void setTest(String test) {
  27. this.test = test;
  28. }
  29. }

解决方法

您需要将此标头添加到您的请求中:
  1. Accept-Encoding:multipart/form-data

通常你使用这样的内容类型:

  1. Content-Type: image/png

您可以使用Postman REST client进行测试

我附上了一张关于如何填写表格的图片.

猜你在找的HTML相关文章