Я пытаюсь отправить сообщение в Ionic Push API, я правильно построил корпус Json, но он говорит: «Не найдено подходящего HttpMessageConverter для запроса типа [com. amazonaws.util.json.JSONObject]».RestTemplate Java Spring, не подходит HttpMessageConverter и 422 UnprocessableEntity
Когда я добавляю HttpMessageConverter, я получаю 422 UnprocessableEntity от Ionic.
Вот код (код в комментарий является MessageConverter):
// MappingJackson2HttpMessageConverter jsonHttpMessageConverter = new MappingJackson2HttpMessageConverter();
// jsonHttpMessageConverter.getObjectMapper().configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
// template.getMessageConverters().add(jsonHttpMessageConverter);
headers.add("Authorization", "Bearer <MY API KEY>");
headers.add("Content-Type", "application/json");
String pushMessage = "From : " + notification.getFrom().getNickname() + " Type : " + notification.getNotificationType();
JSONObject body = new JSONObject();
JSONObject message = new JSONObject();
JSONArray deviceTokens = new JSONArray();
try {
deviceTokens.put("DEV-75c960b5-fa90-4da7-b7df-8c1a01f80bdb");
message.put("message", pushMessage);
body.put("notification", message);
body.put("profile", "dev_push");
body.put("tokens", deviceTokens);
} catch (JSONException e) {
e.printStackTrace();
}
template.exchange("https://api.ionic.io/push/notifications", HttpMethod.POST, new HttpEntity<>(body, headers), String.class);
От отладки Я знаю, что тело запроса соответствует структуре созданной ионического
{
"notification": {
"message":"From : mathijs0032 Type : like"
},
"profile": "dev_push",
"tokens": ["DEV-75c960b5-fa90-4da7-b7df-8c1a01f80bdb"]
}
Так проблема, вероятно, HttpMessageConverter?