在对接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();
}
05-27 16:56