RestTemplate远程调用方法

概述:

spring框架提供的RestTemplate类可用于在应用中调用rest服务,它简化了与http服务的通信方式,统一了RESTful的标准,封装了http链接, 我们只需要传入url及返回值类型即可。相较于之前常用的HttpClient,RestTemplate是一种更优雅的调用RESTful服务的方式。

使用

首先是把RestTemplate实例化
 /*
    * 实例化restTemplate
    * */
    @Bean
    public RestTemplate restTemplate(){
        RestTemplate restTemplate = new RestTemplate();
        List<HttpMessageConverter<?>> list = restTemplate.getMessageConverters();
        for (HttpMessageConverter<?> httpMessageConverter : list) {
            if(httpMessageConverter instanceof StringHttpMessageConverter) {
                ((StringHttpMessageConverter) httpMessageConverter).setDefaultCharset(Charset.forName("UTF-8"));
                break;
            }
        }
        return restTemplate;
    }

我们已经在另外的一个url:http://cloud:9001/user/{id}的对应的Controller层的方法

创建TestController建一个单元测试方法

使用restTemplate远程调用你设置的http://cloud:9001/user/{id}方法

获取到用户

/**
         * 参数一:调用url地址
         * 参数二:需要封装的对象类型
         */

       User user = restTemplate.getForObject("http://cloud:9001/user/"+id, User.class);
        System.out.println(user.getUsername()+"正在购票");
        return user.getUsername()+"购票成功!";
posted @ 2019-11-21 11:57  我的有趣住在无趣里  阅读(1534)  评论(0编辑  收藏  举报