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

【Spring Cloud】-- RestTeplate实现远程调用

实现远程调用有很多种方式,这里我们使用RestTemplate来进行实现。

REST :表现层资源状态转移(资源在网络中以某种表现形式进行状态转移),是一种软件架构风格,

状态转移:数据状态的变化。
表现层:资源的表现形式。
资源:网络上的所有事务都可以抽象为资源。

RESTful:是满足REST设计风格是程序或接口。

RESTful风格特征:其统一接口可以进行对资源进行操作,比如获取、删除、创建、修改。这些操作正好对应上HTTP协议提供的GET、POST、PUT和DELETE等方法。但是这种风格的接口,只能从接口上定义其资源,但是无法通过接口了解具体对资源进行了什么操作。

RestTemplate: 是Spring提供的,用来封装HTTP调用,并强制使用RESTful风格,它会处理HTTP连接和关闭,只需要使用者童工资源的地址和参数即可。


  1. 定义RestTemplate
@Configuration
public class BeanConfig {@Beanpublic RestTemplate restTemplate() {return new RestTemplate();}
}

定义bean可以使用五大注解或者@Bean的方式来定义,但是RestTemplate是第三方的类,五大注解只能修饰自己的类,所以我们使用@Bean来进行修饰。

  1. 实现调用

这里我以订单系统和商品服务为例:

@Service
public class OrderService {@Autowiredprivate OrderMapper orderMapper;@Autowiredprivate RestTemplate restTemplate;public OrderInfo selectOrderById(Integer orderId) {OrderInfo orderInfo = orderMapper.selectOrderById(orderId);String url = "http://127.0.0.1:9090/product/" + orderInfo.getProductId();ProductInfo productInfo = restTemplate.getForObject(url, ProductInfo.class);//通过url来获取到资源,并且返回值的格式是ProductInfoorderInfo.setProductInfo(productInfo);return orderInfo;}
}
http://www.dtcms.com/a/316871.html

相关文章:

  • Java开发时出现的问题---并发与资源管理深层问题
  • 嵌入式开发学习———Linux环境下IO进程线程学习(四)
  • 《嵌入式数据结构笔记(三):数据结构基础与双向链表》
  • 应急响应排查思路
  • MLIR Bufferization
  • JWT 签名验证失败:Java 与 PHP 互操作问题解决方案
  • OpenHarmony 5.0 Settings中wifi删除密码立刻去输入密码连接,连接不上
  • 性能测试终极指南:从指标到实战
  • 自动驾驶中的传感器技术24——Camera(15)
  • Mybatis的应用及部分特性
  • 机器学习——集成学习(Ensemble Learning):随机森林(Random Forest),AdaBoost、Gradient Boosting,Stacking
  • 企业级Redis Cluster部署详解及演练
  • 森赛睿科技成为机器视觉产业联盟会员单位
  • 解决cv::dilate处理后的图像边缘像素出现异常值的问题
  • 结构化设计工具与技术详解
  • Spring 的优势
  • 内部排序算法总结(考研向)
  • 从递归到动态规划-解码方法Ⅱ
  • 软件测试面试如何避坑呢?
  • 8.5 各种攻击实验
  • 使用 BAML 模糊解析改进 LangChain 知识图谱提取:成功率从25%提升到99%
  • 无人机陀螺仪模块技术解析
  • SQL的LEFT JOIN优化
  • 【C语言】动态内存管理详解
  • Centos7 、9 、OpenEuler 22、24对比
  • TCP协议与UDP协议
  • 十六、请求响应-响应:三层架构-分层解耦
  • 信息安全的概述
  • RabbitMQ延时队列的两种实现方式
  • C++算法竞赛篇(九)字符数组题型讲解