Я использую RestTemplate
, чтобы сделать HTTP-вызов нашей службе, который возвращает простой ответ JSON. Мне не нужно разбирать этот JSON вообще. Мне просто нужно вернуть все, что я получаю от этой службы.
Итак, я сопоставляю это с String.class
и возвращаю фактический JSON response
как строку.
RestTemplate restTemplate = new RestTemplate();
String response = restTemplate.getForObject(url, String.class);
return response;
Теперь вопрос -
Я пытаюсь извлечь HTTP Status codes
после попадания в URL. Как я могу извлечь код состояния HTTP из вышеуказанного кода? Нужно ли мне вносить какие-либо изменения в то, как я это делаю сейчас?
Обновление: -
Это то, что я пробовал, и я могу получить ответ назад и код состояния. Но всегда ли мне нужно установить HttpHeaders
и Entity
объект, как показано ниже, я это делаю?
RestTemplate restTemplate = new RestTemplate();
//and do I need this JSON media type for my use case?
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
//set my entity
HttpEntity<Object> entity = new HttpEntity<Object>(headers);
ResponseEntity<String> out = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
System.out.println(out.getBody());
System.out.println(out.getStatusCode());
Пара вопросов. Мне нужно иметь MediaType.APPLICATION_JSON
, поскольку я просто делаю вызов url, который возвращает ответ, он может возвращать JSON или XML или простую строку.