RestTemplate 的用法

1.引入对应依赖

2.private final RestTemplate restTemplate;

3.上代码

@Service
@Slf4j
public class CspWarehouseServiceImpl implements ICspWarehouseService {
private final RestTemplate restTemplate;public CspWarehouseServiceImpl() {this.restTemplate = new RestTemplate();}private final String returnMessage = "无数据,参数都正确,没有数据";/*** 仓库温度gps请求** @param url              url* @param gpsReqDTO        请求采纳数* @param responseBodyType json类型* @param <T>              参数* @return 结果*/public <T> T exchange(String url,String gpsReqDTO,Class<T> responseBodyType) {try {log.info("请求仓库温度gps接口请求报文={}", gpsReqDTO);HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_JSON);HttpEntity<String> requestEntity = new HttpEntity<>(gpsReqDTO, headers);ResponseEntity<T> responseEntity = restTemplate.postForEntity(url,requestEntity,responseBodyType);return responseEntity.getBody();} catch (Exception e) {log.error("调用仓库温度GPS接口异常=", e);return null;}}}
public List<CspWarehouseEquipment> selectCspWarehouseEquipmentList(CspWarehouseEquipment cspWarehouseEquipment) {CspGPSReqDTO gpsReqDTO = buildGpsRequest(equipmentNumberList, "GetColdStorageCurrentTemp", startTime, endTime);String reqDto = objectMapper.writeValueAsString(gpsReqDTO);String url = environment.getProperty("gps.platform.coldTmpUrl");JSONObject returnObjDevice = exchange(url, reqDto, JSONObject.class);if (returnObjDevice != null && (!returnMessage.contains(returnObjDevice.getString("Rtn_Data"))&& !"[]".equals(returnObjDevice.getString("Rtn_Data")) &&!returnMessage.contains(returnObjDevice.getString("Rtn_Msg")))) {Integer rtnCode = returnObjDevice.getInteger("Rtn_Code");if (rtnCode != null && rtnCode == 0) {if (!"无数据!".equals(returnObjDevice.getString("Rtn_Data"))) {List<CspWarehouseTempInterface> temperatureDetailsList = JSON.parseObject(returnObjDevice.getString("Rtn_Data"),new TypeReference<List<CspWarehouseTempInterface>>() {});structureData(list, temperatureDetailsList);}}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/63559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp 配置并使用 VueX

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 uni-app 内置了 VueX 1、创建需要的文件 右键点击 根目录【我的是 uni-shop】&#xff0c;然后新建 目录&a…

0基础可以转行编程行业么

在2022年分行业门类分岗位就业人员年平均工资中&#xff0c;信息传输、软件和信息技术服务业的薪资遥遥领先其他行业&#xff0c;为全国平均薪资水平的 1.78 倍&#xff0c;远超第二名金融行业&#xff0c;其年增长率在9.4%&#xff0c;并成为年收入首个过20 万门槛的行业&…

华为云云服务器评测|华为云云耀云服务器L实例使用教学

文章目录 教学小故事 教学 华为云云耀云服务器L实例是一款提供高效、可靠、安全的基础设施服务的云服务器。下面是使用教学&#xff1a; 登录华为云官网。 测评产品链接&#xff1a;https://www.huaweicloud.com/product/hecs-light.html 进入云耀云服务器管理控制台&#xf…

Uniapp笔记(二)uniapp语法1

一、本节项目预备知识 1、效果演示 2、常见组件 1、view组件 视图容器&#xff0c;它类似于传统html中的div&#xff0c;用于包裹各种元素内容。 2、swiper组件 swiper是滑动视图容器&#xff0c;经常看到的轮播图就是通过它来完成的 swiper-item是swiper子组件&#xf…

go语言--锁

锁的基础&#xff0c;go的锁是构建在原子操作和信号锁之上的 原子锁 原子包实现协程的对同一个数据的操作&#xff0c;可以实现原子操作&#xff0c;只能用于简单变量的简单操作&#xff0c;可以把多个操作变成一个操作 sema锁 也叫信号量锁/信号锁 核心是一个uint32值&#…

Harmony数据存储工具类

使用的是mmkv 1、安装mmkv ohpm install @ohos/mmkv2、封装 import{MMKV, SerializeBase} from @ohos/mmkv/*** 数据存储工具类*/ class MMKVUtil{private filePath:string = private cachePath:string = private mmkv:MMKVprivate mmapID:string="MMKV"construct…

1018 Public Bike Management 结题记录(dfs剪枝)

个人觉得直接放入代码是最管用的。 其他方法类似&#xff0c;题意请参考其他博主。 #include <bits/stdc.h> using namespace std; const int N 1e4 50;int maxn 2000000000; int c, n, ed, s[N], m, minlen, needn, backn, pre[N]; bool flag, book[N]; vector<p…

【Vue3】组件递归

【Vue3】组件递归 实现效果 通过传入一个数字&#xff0c;实现数字次循环 父组件 <script setup> import { ref } from "vue"; import RecursionMe from "./components/RecursionMe/index.vue";const level ref(0);const add () > level.val…

RocketMQ入门

安装 官网 https://rocketmq.apache.org/zh/docs/4.x/introduction/02quickstart 下载 https://archive.apache.org/dist/rocketmq/4.9.4/rocketmq-all-4.9.4-source-release.zip 解压后上传 启动NameServer 修改runserver.sh&#xff0c;分配内存如果比系统高会导致启动…

【MySQL】基础语法总结

MySQL 基础语句 一、DDL 数据库定义语言 1.1CREATE 创建 1.1.1 创建数据库 语法结构 CREATE DATABASE database_name;示例 CREATE DATABASE demo;1.1.2 创建表 语法结构 CREATE TABLE 表名 (列1 数据类型,列2 数据类型,... );示例 CREATE TABLE new_user (id INT PRIMARY KE…

Apifox-比postman更优秀的接口自动化测试平台

一、Apifox介绍 Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台&#xff0c;定位 Postman Swagger Mock JMeter。通过一套系统、一份数据&#xff0c;解决多个系统之间的数据同步问题。只要定义好 API 文档&#xff0c;API 调试、API 数据 Mock、AP…

学习使用Scrapy框架进行高效的爬取,了解其基本结构和使用方法

Scrapy是一个用Python编写的开源网络爬虫框架&#xff0c;它可以帮助开发者快速高效地从网页中提取数据。下面是使用Scrapy进行爬取的基本结构和使用方法的概述&#xff1a; 安装Scrapy&#xff1a;首先&#xff0c;确保你已经安装了Python和pip。然后可以通过运行以下命令来安…

画流程图都可以用哪些工具?

在日常生活中&#xff0c;我相信我们很多人都看到过流程图。对于设计师来说&#xff0c;它还需要涉及流程图来反映用户的旅程和交互方式。那么你知道哪些流行的流程图设计软件呢&#xff1f;作为高级设计师&#xff0c;我今天推荐10款流程图设计软件。你可以和我一起读这篇文章…

SpringBoot入门教程:Java执行Python脚本文件

java执行Python有多种方式,可以使用Java原生API,也可以使用第三方库,使用Java原生的API方式能够支持执行的Python脚本中import第三方依赖。 一:Java @RequestMapping("/exec") public String exec() {try {// args[0]: python, 如果没有配置环境变量需要指定绝…

微信小程序ios下,border显示不全兼容问题解决

小程序在ios系统中&#xff0c;如果border小于1px的情况下&#xff0c;border就可能显示不全(可能少了上下左右任意一边) 只需要加一个::after或::before伪类&#xff0c;使用绝对定位定在原来元素上边就不会产生问题了&#xff01; .d_card_line1_tag {padding: 1rpx 14rpx;…

DEAP库文档教程三-----创建类型

本节将继续展示如何通过creator创建类型以及如何使用toolbox如何对复杂问题进行初始化。 Particle的初始化--粒子初始化 一个Particle是另一个特殊类型的个体&#xff0c;这是因为通常情况下它有一个速度&#xff0c;并且有一个最优的位置需要去记忆。这种类型个体的创建与通…

【实训项目】传道学习助手APP设计

1.设计摘要 跨入21世纪以来,伴随着时代的飞速发展&#xff0c;国民对教育的重视度也有了进一步的提升。我们不难发现虽然很多学习内容有学习资料或者答案&#xff0c;但是这些内容并不能达到让所有求学的人对所需知识进行完全地理解与掌握。所以我们需要进行提问与求助。那么一…

【数学建模套话以及常用数词】——永久更新

目录索引 数值词&#xff1a;图与表&#xff1a;套话&#xff1a;注意事项&#xff1a;模型假设&#xff1a;经验积累&#xff1a; 数值词&#xff1a; 方差、均值、差值、百分比率 图与表&#xff1a; 记得画流程图、思维导图记得取消图片的首行缩进后再点击居中 套话&#xf…

国产自主可控C++工业软件可视化图形架构源码

关于国产自主代替的问题是当前热点&#xff0c;尤其是工业软件领域。 “一个功能强大的全自主C跨平台图形可视化架构对开发自主可控工业基础软件至关重要&#xff01;” 作为全球领先的C工业基础图形可视化软件提供商&#xff0c;UCanCode软件有自己的思考&#xff0c;我们认…

学习设计模式之建造者模式,但是宝可梦

前言 作者在准备秋招中&#xff0c;学习设计模式&#xff0c;做点小笔记&#xff0c;用宝可梦为场景举例&#xff0c;有错误欢迎指出。 建造者模式 建造者模式是一种创建型模式&#xff0c;主要针对于某一个类有特别繁杂的属性&#xff0c;并且这些属性中有部分不是必须的。…