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

【Spring Boot】如何通过RestTemplate获取另一个服务的接口返回信息

  1. 背景
    1. 在查询订单信息的时候,需要获取用户的信息,同时订单和用户分属于不同的服务中,并且服务的数据库的数据分开的,其直接连接数据库并操作数据库是不可以的。那我们可以通过RestTemplate对象请求另一个服务的API接口获取相关的响应数据,然后再封装返回
  2. 在Spring Boot中我们可以先注册RestTemplate的Bean
    1. package com.app.order.config;import lombok.extern.slf4j.Slf4j;
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      import org.springframework.web.client.RestTemplate;/*** webmvc的相关配置** @author Administrator*/
      @Configuration
      @Slf4j
      public class WebMvcConfig {/*** 注入RestTemplate的Bean** @return 返回RestTemplate*/@Beanpublic RestTemplate restTemplate() {return new RestTemplate();}}
      
  3. 在使用的地方注入RestTemplate对象
    1.     /*** 结合@RequiredArgsConstructor进行构造器注入*/private final RestTemplate restTemplate;
  4. 在查询的方法处使用远程调用
    1. /*** 根据id查询订单信息** @param id 订单id* @return 订单信息*/@GetMapping("/{id}")public ResultBean<OrderVo> getById(@PathVariable Long id) {log.info("根据id查询订单信息...");Order order = orderService.getById(id);if (order != null) {OrderVo orderVo = new OrderVo();BeanUtil.copyProperties(order, orderVo);// 远程查找用户服务获取用户名信息// url地址String url = "http://127.0.0.1:8080/users/" + order.getUserId();// 发起远程调用ResultBean resultBean = restTemplate.getForObject(url, ResultBean.class);if (resultBean != null) {UserVo userVo = new UserVo();BeanUtil.copyProperties(resultBean.getData(), userVo);orderVo.setUsername(userVo.getUsername());}return ResultBean.success(orderVo);}return ResultBean.error("没有查询到对应订单信息");}

相关文章:

【Spring Boot】如何通过RestTemplate获取另一个服务的接口返回信息

背景 在查询订单信息的时候&#xff0c;需要获取用户的信息&#xff0c;同时订单和用户分属于不同的服务中&#xff0c;并且服务的数据库的数据分开的&#xff0c;其直接连接数据库并操作数据库是不可以的。那我们可以通过RestTemplate对象请求另一个服务的API接口获取相关的响…...

文字识别(OCR)专题——基于NCNN轻量级PaddleOCRv4模型C++推理

前言 PaddleOCR 提供了基于深度学习的文本检测、识别和方向检测等功能。其主要推荐的 PP-OCR 算法在国内外的企业开发者中得到广泛应用。在短短的几年时间里&#xff0c;PP-OCR 的累计 Star 数已经超过了32.2k&#xff0c;常常出现在 GitHub Trending 和 Paperswithcode 的日榜…...

❀My学习Linux命令小记录(14)❀

目录 ❀My学习Linux命令小记录&#xff08;14&#xff09;❀ 56.man指令 57.whatis指令 58.info指令 59.--help指令 60.uname指令 ❀My学习Linux命令小记录&#xff08;14&#xff09;❀ 56.man指令 功能说明&#xff1a;查看Linux中的指令帮助。 &#xff08;ps.man命…...

SqlServer存储过程中使用in

第一步&#xff1a;创建测试存储过程&#xff1a; CREATE PROCEDURE [dbo].[test] deptCode varchar(MAX)AS BEGINSELECT * from DEPT_INFO_A where DEPT_CODE in (deptCode)END 此存储过程只是一个简单的查询 第二步测试&#xff1a; 传入的 deptCode为&#xff1a;101200…...

Selenium+Unittest+HTMLTestRunner框架更改为Selenium+Pytest+Allure(二)

1 代码框架 整体项目结构如图&#xff1a; Common&#xff1a;公共库 Logs&#xff1a; 日志目录 Page&#xff1a; 页面元素 Report&#xff1a;测试报告 TestCase&#xff1a;测试用例 TestData&#xff1a; 测试数据 2 单模块运行 直接上代码&#xff1a; # -*- coding…...

Kotlin Lambda使用

Kotlin Lambda使用 fun main() /*: Unit*/ {// Lambda会慢慢的难度升级// Kotlin Unit Java void// TODO 下面全部都是函数声明&#xff0c; 既然是函数声明&#xff0c;就不能调用// 函数的声明 用lambda去描述函数的声明val method1 : () -> Unitval method2 : (Int, In…...

华容道问题求解第一部分_思路即方案设计

一、前言 华容道是一种传统的益智游戏&#xff0c;通常由一个长方形木板和若干个方块组成。其中包括一个或多个不同颜色的方块&#xff08;也称为车块&#xff09;和其他大小相同的方块&#xff08;也称为障碍块&#xff09;。游戏的目标是将车块从木板的一个端点移动到另一个…...

测试---UI自动化测试介绍

1、什么是自动化测试 概念&#xff1a;由程序代替人工进行系统校验的过程。--------计算机自己执行&#xff0c;好比手机上安装一个软件软件微信&#xff0c;抖音&#xff0c;微博之类的&#xff0c;在应用商城里面&#xff0c;下载对应app后&#xff0c;手机系统程序会自动安…...

DHCP Host Name

文章目录 前言DHCP OptionOption (12) Host Namednsmasq 前言 打开路由器页面&#xff0c;看到下面连接的设备&#xff0c;有的显示设备名称 Tmall-Genie、ESP-C37CE8&#xff0c;而有的直接显示 MAC 地址 D2:B0:XX:XX:XX:XX。 这个名称是哪里来的呢&#xff1f; 这就是我们今…...

uniapp到底用什么ui框架最合适-关于uni-app的ui库、ui框架、ui组件

文章目录 直接看答案关于uni-app的ui库、ui框架、ui组件组件的概念扩展组件的选择uni ui如何使用uni ui 综上&#xff0c;官方对组件的使用建议是&#xff1a;附录&#xff1a;其他全端兼容ui库参考文章&#xff1a; 直接看答案 如果想自己纯手写&#xff0c;直接用内置组件。…...

Flask 最佳实践(二)

Flask是一个轻量级而灵活的Web框架&#xff0c;提供了足够的自由度让开发者根据项目的需求进行定制。然而&#xff0c;为了在大型项目中保持代码的可维护性和可扩展性&#xff0c;建议采用以下一些建议的最佳实践。 在上一篇博客中&#xff0c;讲述了项目结构、蓝图相关的最佳实…...

【MATLAB源码-第93期】基于matlab的白鲸优化算法(BWO)和鲸鱼优化算法(WOA)机器人栅格路径规划对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 白鲸优化算法&#xff08;BWO&#xff09; 白鲸优化算法是受到白鲸捕食和迁徙行为启发的一种算法。其主要特点和步骤包括&#xff1a; 1. 搜索食物&#xff08;全局搜索&#xff09;&#xff1a;算法模仿白鲸寻找食物的行为。…...

nodejs微信小程序+python+PHP在线购票系统的设计与实现-计算机毕业设计推荐

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性&#xff1a;…...

卷积神经网络训练情感分析

文章目录 1 CNN在自然语言的典型应用2 代码解释3 建议 1 CNN在自然语言的典型应用 卷积的作用在于利用文字的局部特征&#xff0c;一个词的前后几个词必然和这个词本身相关&#xff0c;这组成该词所代表的词群词群进而会对段落文字的意思进行影响&#xff0c;决定这个段落到底…...

github新建项目

参考链接&#xff1a;Github上建立新项目超详细方法过程 在这里新建一个repositories 接下来就选择相关的信息&#xff1a; 然后create a new就行了 接下来需要创建文件&#xff1a;&#xff08;同时通过upload上传文件&#xff09; 每次最多上传100个文件&#xff0c;然后保…...

CRC(循环冗余校验)直接计算和查表法

文章目录 CRC概述CRC名词解释宽度 (WIDTH)多项式 &#xff08;POLY&#xff09;初始值 &#xff08;INIT&#xff09;结果异或值 &#xff08;XOROUT&#xff09;输入数据反转&#xff08;REFIN&#xff09;输出数据反转&#xff08;REFOUT&#xff09; CRC手算过程模二加减&am…...

【算法思考记录】力扣2952. 需要添加的硬币的最小数量【C++,思路挖掘,贪心与证明】

原题链接 文章目录 需要添加的硬币的最小数量&#xff1a;贪心算法实现题目概述示例分析 关键思路分析贪心算法的优化选择证明案例推演与算法实现 C 实现结论 需要添加的硬币的最小数量&#xff1a;贪心算法实现 题目概述 在这个困难难度的算法题中&#xff0c;我们要解决的…...

用友NC JiuQiClientReqDispatch反序列化RCE漏洞复现

0x01 产品简介 用友NC是一款企业级ERP软件。作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计、采购管理、销售管理、物料管理、生产计划和人力资源管理等,帮助企业实现数字化转型和高效管理。 0x02 漏洞概述 用友 NC JiuQiClientReqDispatch 接口存在…...

Linux:docker镜像的创建(5)

1.基于已有镜像创建 步骤&#xff1a; 1.将原始镜像加入容器并运行 2.在原始镜像中部署各种服务 3.退出容器 4.使用下面命令将容器生成新的镜像 现在我们在这个容器里做了一些配置&#xff0c;我们要把他做成自己镜像 docker commit -m "centos7_123" -a "tarr…...

数据结构与算法-D2D3线性表之顺序表

线性表&#xff1a;包含若干数据元素的一个线性序列&#xff0c;特征如下&#xff1a; 1&#xff09;对非空表&#xff0c;a0是表头&#xff0c;无前驱&#xff1b; 2&#xff09;an-1是表尾&#xff0c;无后继&#xff1b; 3&#xff09;其他元素仅且仅有一个前驱&#xff0c;…...

01_W5500简介

目录 W5500简介&#xff1a; 芯片特点: 全硬件TCPIP协议栈: 引脚分布&#xff1a; W5500简介&#xff1a; W5500是一款高性价比的以太网芯片&#xff0c;其全球独一无二的全硬件TCPIP协议栈专利技术&#xff0c;解决了嵌入式以太网的接入问题&#xff0c;简单易用&#xff…...

异常 Exception 练习题 (未完成)

异常 Exception 练习题 try-catch异常处理1234 异常1&#xff08;没有自己写&#xff09;234 try-catch异常处理 1 class Exception01 {public static int method() {try {String[] names new String[3];//String[]数组if (names[1].equals("tom")) {//NullPointe…...

Linux系统编程:并发与信号总结

并发 并发是指两个或多个同时独立进行的活动。在计算机系统中&#xff0c;并发指的是同一个系统中多个独立活动同时进行&#xff0c;而非依次进行。 并发在计算机系统中的表现&#xff1a; 一个时间段中有几个程序都处于已启动运行到运行完毕之间&#xff0c;且这几个程序都是…...

Jmeter 接口-加密信息发送(一百九十九)

方式1&#xff1a;使用函数助手 比如MD5加密方式&#xff1a; 如图&#xff0c;需要对${user}进行MD5加密 1、打开函数助手&#xff0c;找到MD5&#xff0c;输入需要加密的值 2、将${__MD5(${user},)}放到请求中 3、查看请求&#xff0c;请求成功 方式2&#xff1a;导入jar包…...

微信小程序nodejs+vue+uniapp视力保养眼镜店连锁预约系统

作为一个视力保养连锁预约的网络系统&#xff0c;数据流量是非常大的&#xff0c;所以系统的设计必须满足使用方便&#xff0c;操作灵活的要求。所以在设计视力保养连锁预约系统应达到以下目标&#xff1a; &#xff08;1&#xff09;界面要美观友好&#xff0c;检索要快捷简易…...

掌握Vue侦听器(watch)的应用

文章目录 &#x1f341;watch 的优缺点&#x1f342;Watch 优点&#x1f342;Watch 缺点 &#x1f341;watch 的用法&#x1f342;对象式 watch&#x1f342;函数式 watch &#x1f341;代码示例&#x1f342;监听基本数据类型&#x1f342;监听复杂数据类型&#xff08;Object…...

SAP-PP:PP顾问管理系统的相关建议

本博客将探讨生产计划领域的控制要点。这将有助于减少仓库库存不准确情况&#xff0c;因为库存不准确会导致实物库存、发货、成本核算和计划方面出现许多效率低下的问题。 在物料主数据关键字段中&#xff0c;必须配置计划交货时间、GR处理时间、内部生产时间、计划交货时间&a…...

Unity资源路径与读取

Unity资源路径有&#xff1a; 1、StreamingAssets&#xff1a;只读&#xff0c;一般用于存放应用程序运行时需要加载的资源文件&#xff0c;可以通过Application.streamingAssetsPath来获取。 2、PersistentDataPath&#xff1a;可读写&#xff0c;一般用于存放应用程序运行时…...

“大+小模型”赋能油气行业高质量发展

近日&#xff0c;中国石油石化科技创新大会暨新技术成果展在北京盛大举行&#xff0c;九章云极DataCanvas公司携油气行业一站式AI综合解决方案重磅亮相&#xff0c;充分展示了公司助推油气行业实现AI规模化应用深厚的AI技术实力和领先的AI应用水准&#xff0c;赢得了行业专家和…...

【win32_004】字符串处理函数

StringCbPrintf 函数 (strsafe.h)&#xff1a;格式化字符串 STRSAFEAPI StringCbPrintf([out] STRSAFE_LPSTR pszDest,//目的缓冲区 LPSTR指针或者数组[in] size_t cbDest,//目的缓冲区大小[in] STRSAFE_LPCSTR pszFormat,//格式 例如&#xff1a; TEXT("%d&…...

wordpress 漏洞扫描/pc网站建设和推广

新手想半天不会写,必须用二维数组吗?我想求面试成绩和笔试成绩的总分和平均分,大神给个思路!!!//下面是我创建的StudentScore类using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace MyScore{class St…...

合肥做网站推广的公司/如何制作网站

前言 时长2H 应用原理理解; Java后端社招三年 JVM组成部分 堆 方法区(元数据区) 程序计数器 本地方法栈 虚拟机栈 虚拟机栈和本地方法栈区别(线程私有,每个线程都有一个) 本地方法栈和虚拟机栈的作用相同,用来描述方法执行的内存模型 即每个方法执行都会在栈上创建一个栈帧…...

海口网站建设网站制作/网络推广和网站推广平台

Sentinel限流熔断—解决限流/XXXX/{id}查询接口不准确的问题 问题分析 Sentinel中HTTP服务的限流默认由Sentinel-Web-Servlet包中的CommonFilter来实现&#xff0c;从代码中可以看到&#xff0c;这个Filter会把每个不同的URL都作为不同的资源来处理。 在下面这段代码中&#…...

网站怎么做的支付/怎样推广自己的商城

场景说明 在执行任何的程序之前&#xff0c;必须确保程序和系统的版本位数是一致的&#xff0c;如果一种是x64,一种是32位的&#xff0c;就会出现上述的问题 具体例子 [rootjack 迅雷下载]# ./qt-opensource-linux-x64-5.7.0.run bash: ./qt-opensource-linux-x64-5.7.0.run: …...

做网站 怎么赚钱吗/百度指数电脑版

2019独角兽企业重金招聘Python工程师标准>>> 原因&#xff1a;开发的jdk 为1.8 64位 生产的是1.7 32位 结论&#xff1a;开发与生产环境要保持一致 转载于:https://my.oschina.net/springMVCAndspring/blog/1600882...

怎么用网网站模板做网站/seo排名优化哪家好

Linux 系统中配置 lo:0 一个 IP 后 (该 IP 和 eth0 在同一个网段), 其他电脑就无法 ping 通该主另外个电脑 ping 这个台电脑, 从此就 ping 不通这个电脑了. 没有设置之前是可以正常相互 ping 通的. 另外还发现虽然外面无法 ping 这台电脑, 但是这台电脑可以正常 ping 外面的电脑…...