Ich versuche, eine HTTP-DELETE-Anfrage mit Körper mit Spring RestTemplate über Exchange-Methode, aber ich bekomme immer eine 400 Bad Anfrage wie this question. Mit JavaScript und anderen Tools ist es möglich, diese API mit DELETE aufzurufen. Ich weiß, Java < 1.8 doesent Unterstützung DELETE mit Körper, aber mit 1.8 sollte es möglich sein: see here. Ich benutze spring-web-4.2.6.RELEASE mit jdk 1.8, also denke ich, dass es einen Weg geben muss.Spring RestTemplate Austausch DELETE mit Körper jdk 1.8
Mein Code:
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;
}
}
Fehlermeldung:
org.springframework.web.client.HttpClientErrorException: 400 Bad Request
Kennt jemand eine Möglichkeit, dies mit Feder restTemplate zu tun?