Я использую resttemplate и отправляю массив json с помощью объекта, но получаю 400 (сообщение HTTP не читается). Вот мой код:
Данные json:
[{"timestamp": 1521549412000, "sysValue": 80, "meanValue": 120}]
BaseData baseData = new BaseData();
baseData.setSysValue(80);
baseData.setMeanValue(120);
baseData.setTimeStamp(System.currentTimeMillis());
HttpEntity<BaseData> entity = new HttpEntity<BaseData>(baseData, headers);
RestTemplate restTemplate = RestTemplate.getRestTemplate();
ResponseEntity<String> response = restTemplate.exchange(baseUrl,HttpMethod.POST,entity,String.class);
Я получаю ошибку 400 ("errorType": "invalid_input", "errorMessage": "HTTP-сообщение не читается") Я не уверен, чего не хватает. может кто-нибудь мне помочь
Тело запроса, которое будет отправлено для вставленного фрагмента кода, будет
{"timestamp":1521549412000, "sysValue": 80, "meanValue": 120}, а не [{"timestamp":1521549412000, "sysValue": 80, "meanValue": 120}].
Вот почему вы можете получить ошибку 400.
Внесите следующее изменение, чтобы опубликовать массив json вместо объекта json.
List<BaseData> requestBody = new ArrayList<>();
requestBody.add(baseData);
HttpEntity<BaseData> entity = new HttpEntity<BaseData>(requestBody, headers);