Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用多部分表单数据编写Restfuse HttpTest? 我想不出,如何编写其余的测试。请帮帮我。_Java_Rest_Junit - Fatal编程技术网

Java 如何使用多部分表单数据编写Restfuse HttpTest? 我想不出,如何编写其余的测试。请帮帮我。

Java 如何使用多部分表单数据编写Restfuse HttpTest? 我想不出,如何编写其余的测试。请帮帮我。,java,rest,junit,Java,Rest,Junit,我有一项服务: @POST @Path("/insertDataInDB") @Consumes(MediaType.MULTIPART_FORM_DATA) public Response insertDataInDB(@FormDataParam("inputfile") MultipartFormDataInput inputfile) { do Stuff } 服务正常,我用Chromes Rest控制台进行了测试 请求URI: http://localhost:8080/

我有一项服务:

@POST
@Path("/insertDataInDB")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response insertDataInDB(@FormDataParam("inputfile")
MultipartFormDataInput inputfile) {

    do Stuff
}

服务正常,我用Chromes Rest控制台进行了测试

请求URI:

http://localhost:8080/persDB/rest/r/insertDataInDB
内容类型:

multipart/form-data
附件文件:

Test.xlsx 
参数键:

inputfile

Rest测试看起来怎么样?我试过这个
但是我不太清楚,参数键应该放在哪里等等

我得到一个java.io.IOException:

2014-02-04 16:01:30,825   [http-/0.0.0.0:8080-2] SEVERE org.jboss.resteasy.core.SynchronousDispatcher - Failed executing POST r/insertDataInDB: org.jboss.resteasy.spi.ReaderException: java.io.IOException: Unable to get boundary for multipart

看看这个答案和完整的解释

您需要将此标题添加到您的请求中:

 Accept-Encoding:multipart/form-data

问题是,当您设置“Content Type=multipart/form data”而没有边界时,服务器无法正确读取表单数据

rest服务器需要如下内容: 内容类型=多部分/表单数据;边界=我的自定义边界

内容类型=多部分/表单数据;边界=------------------------------------2894775802929299


如果您想了解更多关于边界的信息,可以看到以下链接:[

无法使用@HttpTest进行测试,尚未实现“Accept Encoding请求标头字段类似于Accept,但限制响应中可接受的内容编码(第3.5节)。”例外情况很清楚。。。“java.io.IOException:无法获取多部分的边界”这是因为他们在请求中使用“Content Type:multipart/form data”,而没有设置边界参数。
 Accept-Encoding:multipart/form-data