RestTemplate关于https的使用详解

server/2024/12/28 12:59:50/

https_1">RestTemplate关于https的使用详解

restTemplatebean_5">一、restTemplate注入到bean里面。

java">@Configuration
public class RestTempleConfig {@Bean@Primarypublic RestTemplate restTemplate() {return new RestTemplate();}/*** https 请求的 restTemplate* @return* @throws Exception*/@Beanpublic RestTemplate httpsRestTemplate() throws Exception {SSLContext sslContext = SSLContext.getDefault();HttpClient httpClient = HttpClients.custom().setSSLContext(sslContext).build();HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);requestFactory.setConnectTimeout(5000);requestFactory.setReadTimeout(10000);return new RestTemplate(requestFactory);}
}

restTemplate_39">二、restTemplate使用。

这里以https的请求为例(http同样的使用方式,只不过依赖查找的时候配置不同)。

不管put、 post 、 delete 、get ,都以exchange的方式统一实现。

1.依赖注入

  • http:
java">    @Autowirerprivate RestTemplate restTemplate
java">    @Autowired@Qualifier("httpsRestTemplate")private RestTemplate httpsRestTemplate

2.方法使用

1、构造header
java"> HttpHeaders headers = new HttpHeaders();headers.add("Content-Type", "application/json");
2、构造requestBody
java"> String body = JSON.toJSONString(BaseReq.builder().build());
3、整合请求体
java">   HttpEntity<String> entity = new HttpEntity<String>(body, headers);
4、定义url

​ get请求可以直接拼接url

java">String url = " ";
5、进行调用

HttpMethod :不同的请求方式,填写不同的枚举

BaseResp :定义好返回结果的实体,可以直接返回

.getBody()方法: 直接返回对应的实体,否则则是返回 ResponseEntity

java"> BaseResp baseResp = httpsRestTemplate.exchange(url, HttpMethod.POST, entity, BaseResp.class).getBody();

3、关于里面Json转化的注解

1、组装body定义的实体内,字段名大小写问题
java"> @JSONField(name = "app_secret")private String appSecret;
2、返回的response内 ,字段名大小写问题
java">@JsonAlias("token_type")
private String tokenType;
3、备注
  • 如果还是有问题,转化不了json的话,可以尝试直接返回 String.class
  • 然后利用 JSON.parseObject 进行转化
  • 注意好每一步的判空操作

http://www.ppmy.cn/server/153918.html

相关文章

探索Flink动态CEP:杭州银行的实战案例

摘要&#xff1a;本文撰写自杭州银行大数据工程师唐占峰、欧阳武林老师。将介绍 Flink 动态 CEP的定义与核心概念、应用场景、并深入探讨其技术实现并介绍使用方式。主要分为以下几个内容&#xff1a; Flink动态CEP简介 Flink动态CEP的应用场景 Flink动态CEP的技术实现 Flin…

单词接龙,

单词接龙是一个与我们经常玩的成语接龙相类似的游戏。 现在我们已知一组单词&#xff0c;且给定一个开头的字母&#xff0c;要求出以这个字母开头的最长的“龙”&#xff0c;每个单词最多被使用两次。 在两个单词相连时&#xff0c;其重合部分合为一部分&#xff0c;例如 bea…

SQL Server 新建 用户 登录失败。 (Microsoft SQL Server,错误: 18456)

新建用户后用SQLserver shen身份验证一直提示用户登录用户 登录失败。 (Microsoft SQL Server,错误: 18456)。 问题&#xff1a; 新建标题: 连接到服务器 无法连接到 DESKTOP-GKBXLEE。 其他信息: 用户 ‘’ 登录失败。 (Microsoft SQL Server&#xff0c;错误: 18456) 解…

剑指Offer|LCR 014. 字符串的排列

LCR 014. 字符串的排列 给定两个字符串 s1 和 s2&#xff0c;写一个函数来判断 s2 是否包含 s1 的某个变位词。 换句话说&#xff0c;第一个字符串的排列之一是第二个字符串的 子串 。 示例 1&#xff1a; 输入: s1 "ab" s2 "eidbaooo" 输出: True 解…

下午四点半

客户的员工竟然背着公司开发报表系统&#xff0c;是在密谋什么大事吗&#xff1f; 之前去线下给客户的员工培训&#xff0c;当时我就对这个小姑娘印象很深刻&#xff0c;因为她后面加了我们的技术人员&#xff0c;问了很多问题&#xff0c;不同于从来没有用过低代码平台的人&a…

计算机专业文献检索期末论文

目录 基于 Java 若依框架的项目构建和综述 引言 1 国内外研究现状与分析 1.1 Java 若依框架的应用与发展 1.2 基于若依框架的数据采集与存储 1.3 基于若依框架的数据挖掘算法应用 1.4 基于若依框架的数据挖掘应用案例分析 2 关键问题与挑战 2.1 若依框架性能优化与适配…

基于springboot的论坛管理系统丨源码+数据库+万字文档+PPT

作者简介&#xff1a; 作者&#xff1a;学 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等 文末获取“源码数据库万字文档PPT”&#xff0c;支持远程部署调试、运行安装。 技术框架 开发语言&#xff1a;Java 框架&#xff1a;springbo…

【大数据毕设】基于机器学习的信用卡反欺诈系统设计与实现

代码大同小异&#xff0c;存档自留。下述代码均是构建一个信用卡反欺诈预测模型 代码参考 数据挖掘-11-利用python进行信用卡欺诈检测&#xff08;包含数据代码&#xff09; 机器学习项目实战之信用卡欺诈检测 python之逻辑回归项目实战——信用卡欺诈检测 机器学习实战分享…