【发布时间】:2016-09-08 20:04:03
【问题描述】:
我正在尝试通过交换方法使用 Spring RestTemplate 使用正文执行 HTTP DELETE 请求,但我总是收到 400 错误请求,例如 this question。使用 JavaScript 和其他工具,可以使用 DELETE 进行此 API 调用。 我知道 java see here。我将 spring-web-4.2.6.RELEASE 与 jdk 1.8 一起使用,所以我认为必须有办法。
我的代码:
public DealResponse closePosition(DealCloseRequest dealCloseRequest) {
try {
ObjectMapper mapper = new ObjectMapper();
//Object to JSON in String
String jsonInString = mapper.writeValueAsString(dealCloseRequest);
HttpEntity<String> entity = new HttpEntity<String>(jsonInString, this.headers);
//execute request
ResponseEntity<DealResponse> response = restTemplate.exchange("https://" + this.domain + "/gateway/deal/positions/otc", HttpMethod.DELETE, entity, DealResponse.class);
//return filled DealResponse object
return response.getBody();
} catch (JsonProcessingException e) {
this.logger.warn("could not close Position because: "+e);
return null;
}
}
错误信息:
org.springframework.web.client.HttpClientErrorException: 400 Bad Request
有谁知道用 spring restTemplate 做到这一点的方法吗?
【问题讨论】:
标签: java spring rest resttemplate spring-web