码迷,mamicode.com
首页 > 编程语言 > 详细

Spring RestTemplate

时间:2015-06-01 15:01:31      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

在项目开发的过程中,会有很多时候需要调用其他项目的一些接口,此时大家也许会想到使用Webservice 实现,但是这种方式实现起来很麻烦。现在为大家介绍一种更加方便,更加简洁的远程接口调用方式:RestTemplate。

远程调用接口的使用场景是A系统需要调用B系统的系统资源,那么此时需要在A系统中有B系统的调用接口,采用传统的Webservice需要单独为接口服务开启一个服务,但是如果采用Spring的RestTemplate接口调用方式的话,只需要在已有的A系统中添加几行代码就可以实现,B系统是不需要额外做其他的代码变动。

            RestTemplate rest = new RestTemplate();
	    MultiValueMap<String, Object> param = new LinkedMultiValueMap<>();
	    Map<String, Object> map = new HashMap<String, Object>();
	    map.put("status", "true");
	    HttpHeaders headers = new HttpHeaders();
        // 为了避免RestTemplate默认的ISO-8859-1编码,这里用UTF-8编码设一下
        headers.setContentType(new MediaType("text", "plain", Charset.forName("UTF-8")));
	    param.add("name",JSON.toJSONString(map));
//	    param.add("name","demo"); //如果是json数据的话  就需要添加一个httpentity header
//	    String string = rest.postForObject(url, param, String.class);
	    HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<MultiValueMap<String,Object>>(param,headers);
	    ResponseEntity<String> responseEntity = rest.exchange(url, HttpMethod.POST, httpEntity, String.class);	    
	    System.out.println(responseEntity.getBody());

以上代码就是完整的Spring的RestTemplate调用,是不是很简单?可以传对象,也可以传json字符串,很方便吧。

Spring RestTemplate

标签:

原文地址:http://my.oschina.net/yuyidi/blog/423389

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!