RestTemplate 使用

女爷i 2023-06-20 09:11 64阅读 0赞

1. 项目中创建实例(当然也可以使用时创建实例)

  1. @Configuration
  2. public class RestTemplateConfig {
  3. @Bean(name = "factory")
  4. public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
  5. SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
  6. factory.setConnectTimeout(15000);
  7. factory.setReadTimeout(5000);
  8. return factory;
  9. }
  10. @Bean(name = "restTemplate")
  11. public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
  12. return new RestTemplate(factory);
  13. }
  14. }

1. GET请求

  1. @Autowired
  2. private RestTemplate restTemplate;
  3. ...
  4. // 封装Header 一般来说不需要封装
  5. HttpHeaders requestHeaders = new HttpHeaders();
  6. requestHeaders.add("", "keep-alive");
  7. HttpEntity<String> requestEntity = new HttpEntity<>(null, requestHeaders);
  8. // 根据不同的相应类型来接取
  9. ResponseEntity<String> entity = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);
  10. ResponseEntity<Resource> entity = rest.exchange(matchUrl, HttpMethod.GET, requestEntity, Resource.class);
  11. ResponseEntity<Map> entity = restTemplate.exchange(url,HttpMethod.GET,Resource,Map.class);

2. post请求

  1. HttpHeaders requestHeaders = new HttpHeaders();
  2. requestHeaders.add("Content-type", "application/json; charset=utf-8");
  3. Map<String,Object> body = new HashMap<>();
  4. body.put("id",1);
  5. HttpEntity<Map> requestEntity = new HttpEntity<>(body, requestHeaders);
  6. // 根据不同的相应类型来接取
  7. ResponseEntity<String> entity = restTemplate.exchange(url, HttpMethod.POST, requestEntity, String.class);
  8. ResponseEntity<Resource> entity = rest.exchange(matchUrl, HttpMethod.POST, requestEntity, Resource.class);
  9. ResponseEntity<Map> entity = restTemplate.exchange(url,HttpMethod.POST,Resource,Map.class);

发表评论

表情:
评论列表 (有 0 条评论,64人围观)

还没有评论,来说两句吧...

相关阅读

    相关 restTemplate使用

    目录 目录 一、概述? 二、使用步骤 1.引入依赖 2.创建RestTemplate对象,交由spring容器进行管理 3.使用方法 3.1 GET请求