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