Я получаю следующую ошибку при попытке вызова POST с использованием класса org.springframework.web.client.RestTemplate
:
"400 null","stackTrace":"org.springframework.web.client.HttpClientErrorException: 400 null
Ниже мой код:
public void PostInsertOrUpdateDisplayCounts(CountsDataResults countsDataResults, String displayId) {
String postUrl = "http://zld05300.vci.com:38767/application/display/C9B367BE340288EFE7D835FD587F2A3/counts";
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<CountsDataResults> countsDataResultsEntity = new HttpEntity<CountsDataResults>(countsDataResults, headers);
//execute the post call:
ResponseEntity<Response> reponseEntity = restTemplate.exchange(postUrl, HttpMethod.POST, countsDataResultsEntity, Response.class);
}
Ниже приведен код сервера, который будет получать запрос:
@POST
@Path("/application/display/{displayId}/counts")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response insertOrUpdateDisplayCounts(@RequestBody CountsDataResults countsList,@PathParam("displayId")String displayId);
Ниже приведена реализация метода insertOrUpdateDisplayCounts
:
@Override
public Response insertOrUpdateDisplayCounts(CountsDataResults countsList, String displayId) {
String result = countsAPI.insertOrUpdateDisplayCountTables(countsList, displayId);
if(result == "success")
return Response.created(null).build();
else
return Response.status(Status.FORBIDDEN).build();
}
Я уверен, что аргументы параметров не равны NULL, и я успешно протестировал этот же POST-вызов с использованием почтальона в конечной точке и получил ожидаемый ответ - почему я получаю это исключение?