GET请求:

  第一种:getForEntity:

    此方法返回的是ResponseEntity,该对象是Spring对HTTP请求响应的封装。

    RestTemplate rt = new RestTemplate();

    ResponseEntity<String> re = rt.getForEntity(uri,String.class);

    String body = re.getBody();

    或者:

    ResponseEntity<User> re = rt.getForEntity(uri,User.class);

    User body = re.getBody();

  此方法提供了三个不同的重载实现:

    1.getForEntity(String url,Class responseType,Object...urlVariables)

      其中responseType是指返回的类型,urlVariables是get请求的参数,为数组类型,数组中的值顺序要和url中参数顺序一致。比如:

      String url = http://USER-SERVICE/user.do?name={1}&age={2};

      urlVariables=["jason",26];

    2.getForEntity(String url,Class responseType,Map urlVariables)

      map中的key对应url中参数的名字,value对应参数的值。比如:

      String url = http://USER-SERVICE/user.do?param1={name} & param2={age};

      map.put("name","jason");

      map.put("age",26);

3.getForEntity(URI url,Class responseType)

该方法中使用URI代替了之前的url和urlVariables参数进行绑定。

第二种:getForObject:

此方法是对getForEntity的进一步的封装,实现请求直接返回包装好的对象内容。

RestTemplate rt = new RestTemplate();

String rs = rt.getForObject(uri,String.class);

或者:

User user = rt.getForObject(uri,User.class);

也提供了三个不同的重载实现,用法和上面的一样:

1.getForObject(String url,Class responseType,Object...urlVariables)

2.getForObject(String url,Class responseType,Map urlVariables)

3.getForObject(URI url,Class responseType)

POST请求:

第一种:postForEntity:

同GET请求一样,返回的是ResponseEntity<T>对象,其中T为请求相应的body的类型。

唯一不同的是request可以是普通对象,也可以是HttpEntity对象。

RestTemplate rt = new RestTemplate();

User user1 = new User("jason",26);

User user2 = rt.getForObject(url,user1,User.class);

也提供了三个不同的重载实现:

1.postForEntity(String url,Object request,Class responseType,Object...uriVariables);

2.postForEntity(String url,Object request,Class responseType,Map uriVariables);

3.postForEntity(URI url,Object request,Class responseType);

第二种:postForObject:

1.postForObject(String url,Object request,Class responseType,Object...uriVariables);

2.postForObject(String url,Object request,Class responseType,Map uriVariables);

3.postForObject(URI url,Object request,Class responseType);

第三种:postForLocation:

该方法实现了以POST请求提交资源,并返回新资源的URI对象,比如:

User user = new User("jason",26);

URI responseURI = restTemplate.postForLocation(url,user,);

三种重载方法:

1.postForLocation(String url,Object request,Object...uriVariables);

2.postForLocation(String url,Object request,Map uriVariables);

3.postForLocation(URI url,Object request);

PUT请求:

在RestTemaplate中,对PUT请求可以通过put方法进行调用。put方法返回值是void.

三种不同的重载方法:

put(String url,Object request,Object...urlVariable);

put(String url,Object request,Map urlVariable);

put(URI uri,Object request);

DELETE请求:

返回值为void.

delete(String url,Object...urlVariable);

delete(String url,Map urlVariable);

delete(URI uri,);

最新文章

  1. linux中字体的安装以及Terminal字体重叠问题解决
  2. SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题
  3. ABP中使用Redis Cache(2)
  4. Linux - 变量
  5. IOS第15天(3,事件处理,手势处理)
  6. SQL SERVER 数据库查询表和字段信息语句
  7. 自己写算法---java的堆的非递归遍历
  8. Java实现二维码QRCode的编码和解码
  9. Android SDK下载和更新失败的解决方法!!!
  10. NOI2012 美食节
  11. UESTC_邱老师选妹子(二) 2015 UESTC Training for Dynamic Programming&lt;Problem I&gt;
  12. 【译】在Asp.Net中操作PDF – iTextSharp - 操作图片
  13. 使用 flow.ci 快速发布你的项目文档
  14. SimpleXML系列函数操作XML
  15. CodeChef - COUNTREL Count Relations
  16. ubuntu不能联网的问题
  17. react-create-app
  18. 剑指offer二十之包含min函数的栈
  19. 【最大流之Dinic算法】POJ1273 【 &amp; 当前弧优化 &amp; 】
  20. pf

热门文章

  1. Android 安全机制
  2. for循环将字典添加到列表中出现覆盖前面数据的问题
  3. F - Rails
  4. 网络通信协议五之IP协议详解
  5. db2 删除过期的日志和备份文件(转)
  6. redis数据持久化的两种方式
  7. hdu2609 How many【最小表示法】【Hash】
  8. Javascript扩展Date的prototype实现时间format函数 2017-06-29T09:10:00.000Z日期转换
  9. css学习_文本有关的样式属性、sublime快捷生成标签
  10. [No0000144]深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing)理解堆与栈1/4