RestTemplate进行表单请求,注意要使用MultiValueMap
在对接API的时候,有时候文档中会说,表单提交,这时候就需要用到 MultiValueMap来操作,下面给大家展示一个简单的demo。
MultiValueMap<Object, Object> params= new LinkedMultiValueMap<Object, Object>();
params.add("name",dto.getUser_name());
params.add("cardNo",dto.getCard_no());
params.add("idCard",dto.getId_card());
params.add("phone",dto.getCard_phone());
params.add("bankno",dto.getCard_no());
params.add("orderId",String.valueOf(orderId));
logger.info("获取验证码校验参数:"+JSON.toJSON(params));
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<MultiValueMap<Object, Object>> requestEntity = new HttpEntity<MultiValueMap<Object, Object>>(params, headers);
String url = getVerificationCodeUrl;
logger.info("获取验证码请求地址为:{}",url);
try {
ResponseEntity<CommonResponse> rsp = restTemplate.exchange(url, HttpMethod.POST, requestEntity, CommonResponse.class);
logger.info("手机号:" + phone + ",获取验证码返回结果:" + JSON.toJSON(rsp));
if (rsp.getStatusCodeValue() == 200){
if ("000".equals(rsp.getBody().getCode())){
logger.info("手机号:"+phone+",验证码发送成功");
}else {
logger.info("手机号:"+phone+",验证码发送失败,"+"失败原因:"+rsp.getBody().getMsg());
return ResponseData.error(rsp.getBody().getMsg());
}
}
}catch (Exception e){
logger.error("请求获取验证码失败",e);
return ResponseData.error();
}
RestTemplate进行表单请求,注意要使用MultiValueMap的更多相关文章
- java如何区分是form表单请求,还是ajax请求
requestType = request.getHeader("X-Requested-With"); if(requestType==null) ...
- Django之--POST方法处理表单请求
上一篇:Django之--MVC的Model 演示了如何使用GET方法处理表单请求,本文讲述直接在当前页面返回结果,并使用更常用的POST方法处理. 一.首先我们修改下page.html <!D ...
- Laravel 更新数据时在表单请求验证中排除自己,检查指定字段唯一性
原文地址:https://moell.cn/article/24 不错的laravel网站 需求场景 修改用户信息时,在表单请求验证中排除当前邮箱所在的记录行,并检查邮箱的唯一性. Laravel版本 ...
- 当有多个form表单请求时如何处理?
问题:当有多个表单请求时如何处理?两种获取form表单 name属性值来区分是哪一个form表单.问题:如何获取name的值呢?<form name="myForm" met ...
- 通过C#的HttpClient模拟form表单请求
post提交表单一般无非是一般text文本和文件类型,如下 <input type="file"/> <input type="text"/& ...
- Laravel 表单验证创建“表单请求”实现自定义请求类
按照文档创建表单请求自定义类以后,调用总是403页面,咨询大佬说: public function authorize() { // 在表单验证类的这个方法这里要返回true,默认返回false,这个 ...
- 在Express 中获取表单请求体数据
在Express 中获取表单请求体数据 获取 GET 请求参数 获取 POST 请求体数据 安装 配置 获取 GET 请求参数 Express 内置了一个 API , 可以直接通过 req.query ...
- [水煮 ASP.NET Web API2 方法论](1-3)如何接收 HTML 表单请求
问题 我们想创建一个能够处理 HTML表单的 ASP.NET Web API 应用程序(使用 application/x-www-form-urlencoded 方式提交数据). 解决方案 我们可以创 ...
- laravel中的表单请求类型和CSRF防护(六)
laravel中为我们提供了绑定不同http请求类型的函数. Route::get('/test', function () {}); Route::post('/test', function () ...
随机推荐
- github的上传本地文档
自从使用github以来,一直都是在github网站在线上传文件到仓库中,但是有时因为网络或者电脑的原因上传失败.最重要的原因是我习惯本地编辑,完成以后再一起上传github.看过了几个教程,总结出最 ...
- C#字体字号的改变
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- VLAN-6-VLAN Trunk协议(VTP)
VTP能够将VLAN配置信息通告给邻居交换机,这样做可以使工程师只在一台交换机上配置VLAN,同一个VTP域中的所有其他交换机动态学习这些VLAN信息.VTP通告VLAN ID.VLAN 名称和 VL ...
- LINK fatal error LNK1123 转换到COFF期间失败
1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 全部重新生成: 0 已成功, 1 已失败, 0 已跳过 ==========解决方法如下 ...
- [已读]高性能JavaScript
值得多读几遍的书.
- Linux--NiaoGe-Service-04
操作系统版本:CentOS 6.10 x86_64 查看内核所获取到的网卡信息 [root@xueji ~]# dmesg | grep -in eth :e1000 ::-bit) :0c::6b: ...
- [github][https模式下提交记住密码]
git版本 1.7.9以后 1. 开启 git config --global credential.helper cache 2. 设置时间 git config credential.helpe ...
- Java 多态抽象
- 如何查找Oracle某列值相同的字段
相关的sql语句如下 select xm_guidfrom T_NZYDKgroup by xm_guidhaving count (*)>1
- nginx+ssl+pm2 部署 nodejs 服务
nginx+pm2 部署 nodejs 服务 最近在 centos 上部署 nodejs 服务,记下来步骤: 注意都是使用 root 用户. 下载 nvm: curl -o- https://raw. ...