zoukankan      html  css  js  c++  java
  • RestTemplate

    RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。
    调用RestTemplate的默认构造函数,RestTemplate对象在底层通过使用java.net包下的实现创建HTTP 请求,可以通过使用ClientHttpRequestFactory指定不同的HTTP请求方式。
    ClientHttpRequestFactory接口主要提供了两种实现方式

    • 一种是SimpleClientHttpRequestFactory,使用J2SE提供的方式(既java.net包提供的方式)创建底层的Http请求连接。
    • 一种方式是使用HttpComponentsClientHttpRequestFactory方式,底层使用HttpClient访问远程的Http服务,使用HttpClient可以配置连接池和证书等信息。
    private RestTemplate createRestTemplate(){
    
    HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory()
    requestFactory.setConnectTimeout(connectTimeout);
    requestFactory.setReadTimeout(readTimeout);
    
    RestTemplate restTemplate = new RestTemplate(requestFactory);
    restTempate.getMessageConverters().add(0,new MyStringHttpMessageConverter());
    return restTemplatet
    }

    RestTemplate的getForObject完成get请求、postForObject完成post请求、put对应的完成put请求、delete完成delete请求;还有execute可以执行任何请求的方法,需要你设置RequestMethod来指定当前请求类型。

    RestTemplate.getForObject(String url, Class responseType, String... urlVariables)

    String content = getXMLContent(carNo);
      HttpHeaders headers = new HttpHeaders();
      MediaType type = new MediaType("text","xml",Charset.forName(CHARSET_GBK));
      headers.setContentType(true);
      HttpEntity<String> entity = new HttpEntity<String>(content,headers);
      long ss = System.nanoTime();
      String result = restTemplate.postForObject(url,entity,String.class);

    添加applicationContext-beans.xml完成对restTemplate的配置。restTemplate需要配置MessageConvert将返回的xml文档进行转换,解析成JavaObject。

  • 相关阅读:
    《骆驼祥子》
    《基督山伯爵》
    JDeveloper 假死问题
    JSP代码执行顺序
    Ajax简单案例(实现提交值到服务器值不刷新页面)
    JS和JSP之间值传递
    如何更好的编码
    Telnet 便捷执行脚本
    MyBatis 缓存
    MyBatis 中传递多个参数的 4 种方式
  • 原文地址:https://www.cnblogs.com/yangsy0915/p/5467501.html
Copyright © 2011-2022 走看看