Skip to content

Latest commit

 

History

History
41 lines (33 loc) · 1.53 KB

RestTemplate.md

File metadata and controls

41 lines (33 loc) · 1.53 KB

RestTemplate

По сути своей, он похож на JdbcTemplate и JmsTemplate, но он предназначен для HTTP.

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...)

Примеры

В методе необходимо передавать метку типа (Class<T>) как при использовании Gson.

String result = 
  restTemplate.getForObject("http://example.com/hotels/{hotel}/bookings/{booking}", String.class, "42", "21");

Также можно задать аргументы через Map:

Map<String, String> vars = new HashMap<String, String>();
vars.put("hotel", "42");
vars.put("booking", "21");
String result = restTemplate.getForObject("http://example.com/hotels/{hotel}/bookings/{booking}", String.class, vars);

Или задать параметры:

Map<String, String> vars = new HashMap<>();
vars.put("login", login);
vars.put("password", password);
Token token = restTemplate.getForObject(ExternalSourcesConfig.heliosApiUri + "auth?login={login}&password={password}",Token.class, vars);

JavaDoc : https://docs.spring.io/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html Documentation : https://spring.io/blog/2009/03/27/rest-in-spring-3-resttemplate