我写了REST
网络服务。它接受RequestMethod.DELETE
,消耗"application/json"
。我在本地使用chrome的DHC
客户端对此进行了测试。它很成功。但是当我使用Jmeter测试它时,响应就是:"客户端发送的请求在语法上是错误的"。我的观点是如何使用dhc client&为什么不在Jmeter?
Java部分:
@RequestMapping(value = { "/{apiVersion}/provision"},
method = RequestMethod.DELETE, consumes = "application/json")
public @ResponseBody
EspCancelResponse cancel(@RequestBody EspCancelRequest cancelRequest) throws ProvisionException{
//do something
}
@JsonPropertyOrder({"espCentralTransactionId"})
public class EspCancelRequest {
private String espCentralTransactionId;
public String getEspCentralTransactionId() {
return espCentralTransactionId;
}
@JsonProperty("espCentralTransactionId")
public void setEspCentralTransactionId(String espCentralTransactionId) {
this.espCentralTransactionId = espCentralTransactionId;
}
}
答案 0 :(得分:0)
来自您的Java部分:
method = RequestMethod.DELETE, consumes =“application / json”)
这可能是由于您的服务器将您的请求正文视为纯文本。
尝试添加HTTP Header Manager以Content-Type
的值发送application/json标头另一个原因可能是您的应用服务器是ignoring your message body。虽然DELETE方法是allowed to have the body,但它可能被服务器丢弃,您的应用程序依然存在。
答案 1 :(得分:0)
我想这是Jmeter中的一个错误。方法为DELETE时无法发送正文。看到这篇文章后我才明白这个理解: https://bz.apache.org/bugzilla/show_bug.cgi?id=55255
:(。考虑使用其他工具或最新版本。