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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM