当前位置: 首页 > article >正文

RestTemplate硬编码的使用

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

因为RestTemplate是Spirng框架提供的所以只要是一个Springboot项目就不用考虑导包的问题,这些都是提供好的。 但是Spring并没有将其加入SpringBean容器中,需要我们手动加入,因为我们首先创建一个Springboot配置类,再在配置类中将我们的RestTemlate注册到Bean容器中

1.要使用这个硬编码的形式
    @LoadBalanced // 这个是开启负载均衡
    @Bean // 让spring容器管理这个对象
    public RestTemplate restTemplate(){ // 这个对象spring并没有加入管理
        return new RestTemplate(); 
    }
  1. 在消费模块中使用
        @Autowired // 导入这个对象
        private RestTemplate restTemplate;
        
         @Override
        public Map<String,Object> addWork(WorkOrders workOrders) {
            String url = "http://guo-project/project/showList"; // 写生产者的请求地址
            List<ProjectTeams> projectList = restTemplate.getForObject(url, List.class); // 在这里要注意下
            Map<String,Object> map = new HashMap<>();
            map.put("project",projectList);
            int flag = workMapper.addWork(workOrders);
            map.put("数据添加",flag == 0 ? "false":"true" );
            return map;
        }
    注意事项:生产者在这里调用回来的数据,不知道是idea版本的问题还是别的问题,返回来的数据是json格式的数据
    那我们就要将json的数据转为java数据
    在这个模块中导入json的依赖
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.24</version>
    </dependency>
       String url = "http://guo-project/project/showList";
       // 获取全部的项目
       List pro = restTemplate.getForObject(url, List.class);
            // 将数据转化成集合
      List<ProjectTeams> projectTeams =   JSON.parseArray(JSON.toJSONString(pro),ProjectTeams.class); // 两个参数,json转化的数据,另一个是要转化的类型

    总结:继续加油


http://www.kler.cn/news/162671.html

相关文章:

  • C++STL的string模拟实现
  • 实现SQL server数据库完整性
  • 进程控制与原语
  • Termux+Hexo结合内网穿透轻松实现安卓手机搭建博客网站发布公网访问
  • 这把养生局~
  • Vue 子路由页面发消息给主路由页面 ,实现主页面显示子页面的信息
  • [架构之路-258]:目标系统 - 设计方法 - 软件工程 - 软件设计 - 架构设计 - 软件架构与软件框架的详细比较
  • 倒计时模块复习
  • 一篇文章带你快速入门 Vue 核心语法
  • chfs,简单好用的局域网共享网盘
  • 设计并实现一个多线程图书馆管理系统,涉及数据库操作
  • python圣诞树代码编程
  • HarmonyOS
  • JVM GUI可视化监控及诊断工具
  • Python语言基础知识(二)
  • 【S32DS报错】-2-提示Error while launching command:arm-none-eabi-gdb –version错误
  • DeepIn,UOS统信专业版安装运行Java,JavaFx程序
  • LeetCode-496. 下一个更大元素 I【栈 数组 哈希表 单调栈】
  • pip的常用命令
  • 获取系统固件类型和Windows固件API学习
  • 行云海CMS SQL注入漏洞复现
  • GO -- 设计模式
  • 如何使用技术 SEO 优化 Pinterest 富图钉
  • JVM虚拟机:如何查看JVM初始和最终的参数?
  • 管理类联考——数学——真题篇——按题型分类——充分性判断题——秒杀
  • 论文阅读《Learning Adaptive Dense Event Stereo from the Image Domain》
  • Orcal数据库Schema理解、表分区理解
  • 【kubernetes】k3s集群搭建(正在更新……)
  • 利用mybatis-plus查询时报错?
  • 【C语言】操作符详解(一):进制转换,原码,反码,补码