restTemplate調用參數類型為form Data類型的接口 用LinkedMultiValueMap封裝參數


springweb提供了調用遠程接口模板restTemplate,以rest方式請求接口非常方便.下面針對post請求做兩種說明:

1.如果調用的接口參數用@RequestBody標識

  此種在postman中傳參方式是選擇json格式,編寫json格式參數即可,

       對應的restTemplate.postForObject(url, requestBody, Result.class); 默認調用的時候就是將requestBody實體類轉為json格式調取。

 

2.如果調用的接口參數用@RequestParam標識

    此種在postman中傳參方式選擇form-data,然后按需傳參(不是必傳參數可以不傳),

   對應的restTemplate.postForObject(url, requestBody, Result.class);將會調取失敗!

   解決辦法:使用LinkedMultiValueMap封裝要穿的參數:

     MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
        //按需傳參,不是必填的參數可以不傳
        map.add("order_id", submit.getOrderId());
        map.add("userName",submit.getUserName());
        //發送請求,設置請求返回數據格式為String
        ResponseEntity<String> responseEntity = restTemplate.postForEntity("http:xxx.xx", request, String.class);


免責聲明!

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



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