Описание тега resttemplate

Используйте этот тег для Spring RestTemplate, класса для HTTP-коммуникаций на стороне клиента и соблюдения принципов RESTful.

RestTemplate - это центральный класс Spring для доступа по HTTP на стороне клиента. Концептуально он очень похож на JdbcTemplate, JmsTemplate и различные другие шаблоны, присутствующие в Spring Framework и других проектах портфолио.

Это означает, например, что RestTemplate после создания является потокобезопасным и что вы можете использовать обратные вызовы для настройки его операций.

RestTemplate методы

-------------------------------------------------------------
| HTTP          | RESTTEMPLATE                               |
-------------------------------------------------------------
| DELETE        | delete(String, String...)                  |
-------------------------------------------------------------
| GET           | getForObject(String, Class, String...)     | 
-------------------------------------------------------------
| HEAD          | headForHeaders(String, String...)          | 
-------------------------------------------------------------
| OPTIONS       | optionsForAllow(String, String...)         | 
-------------------------------------------------------------
| POST          | postForLocation(String, Object, String...) | 
-------------------------------------------------------------
| PUT           | put(String, Object, String...)             | 
-------------------------------------------------------------

Ссылка: https://spring.io/blog/2009/03/27/rest-in-spring-3-resttemplate

Обработка ошибок и настройка ошибок

Реализовать и внедрить ResponseError Handler интерфейс в экземпляре RestTemplate - корректно обработать HTTP ошибок, возвращаемых удаленным API.

По умолчанию RestTemplate выдает одно из этих исключений в случае ошибки HTTP:

  • HttpClientErrorException - в случае статуса HTTP 4xx
  • HttpServerErrorException - в случае статуса HTTP 5xx
  • UnknownHttpStatusCodeException - в случае неизвестного статуса HTTP

Можно также настроить bean-компонент Spring RestTemplate

  • используя RestTemplateBuilder по умолчанию
  • с помощью RestTemplateCustomizer
  • создание RestTemplateBuilder