在對接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(); }