加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

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

发布时间:2020-12-14 21:16:29 所属栏目:资源 来源:网络整理
导读:我有一个基于RESTeasy的REST Web服务(见下文).我正在尝试使用谷歌REST客户端来执行测试我的服务的请求,但我不确定应该如何设置请求. 我不知道如何将byte []作为param(filedata)发送. 关于如何测试这个的任何想法? 我得到以下异常: java.io.IOException: Un
我有一个基于RESTeasy的REST Web服务(见下文).我正在尝试使用谷歌REST客户端来执行测试我的服务的请求,但我不确定应该如何设置请求.

我不知道如何将byte []作为param(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;
    }   
}

解决方法

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

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

Content-Type: image/png

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读