【发布时间】:2017-11-06 06:28:35
【问题描述】:
我正在尝试使用 JMeter 测试用于上传文件的 restful 端点,但出现 400 错误。让我跳出来的一件事是边界值;这与我提供的与请求中显示的不同。我可以毫无问题地在浏览器中使用端点,并且我已经复制了 FF 开发人员工具中显示的标头。
这是来自 JMeter 的相关信息:
结果标签:
线程名称:Asdf - 负载测试 1-1
样品开始时间:2017-06-05 08:47:46 EDT
加载时间:159
连接时间:28
延迟:159
字节大小:438
发送字节数:821003
标头大小(以字节为单位):438
正文大小(以字节为单位):0
样本数:1
错误计数:1
数据类型(“文本”|“bin”|“”):
响应码:400
响应消息:错误请求
响应标头:
HTTP/1.1 400 错误请求
日期:2017 年 6 月 5 日星期一 12:47:46 GMT
服务器:Apache/2.4.25 (Win64) OpenSSL/1.0.2k
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
编译指示:无缓存
过期:0
严格的传输安全性:max-age=31536000;包含子域
X-XSS-保护:1;模式=块
X 帧选项:拒绝
X-Content-Type-Options: nosniff
缓存控制:无缓存,必须重新验证
内容长度:0
连接:关闭
HTTPSampleResult 字段:
内容类型:
数据编码:空
请求标签:
发布https://localhost/my/rest/endpoint
发布数据:
--9amm365-gMmimP70lvs9jIvlIxOfkocUN
内容配置:表单数据;名称="可解析";文件名="asdf.docx"
Content-Type: application/vnd.openxmlformats-
officedocument.wordprocessingml.document
内容传输编码:二进制
--9amm365-gMmimP70lvs9jIvlIxOfkocUN--
[无 cookie]
请求标头:
连接:保持活动
内容类型:multipart/form-data;边界=--Uc_2uLvcVgc7SqvzIJxR3encUKw- f7w9
接受编码:gzip、deflate、br
接受语言:en-US,en;q=0.5
接受:application/json、text/plain、/
X-Request-OnBehalfOf: some-user-uuid
X-Requested-With: XMLHttpRequest
内容长度:820532
主机:本地主机
用户代理:Apache-HttpClient/4.5.3 (Java/1.8.0_121)
响应数据选项卡为空白。
服务器端实现:
@POST
@Override
@EnhancedDetail
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Path("my/rest/endpoint")
public Response uploadProduct(@PathParam("id") final String id, MultiPart multipart) throws IOException {
return processMultiFileUpload(id, multipart, MultiPartUploadType.DRAFT, false);
}
【问题讨论】: