restTemplate如何发送表单(x-www-form-urlencoded)数据呢?
下文笔者讲述restTemplate发送表单数据的方法分享,如下所示
例2:RestTemplate发送JSON的示例
restTemplate发送表单数据的实现思路
1.将参数放入一个HashMap中 2.定义一个Header 然后放入content-type application/x-www-form-urlencoded 3.使用restTemplate中的postForObject方法发送请求例1:RestTemplate发送x-www-form-urlencoded的post请求
MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();
postParameters.add("mobile", phone);
postParameters.add("smsCaptcha", code);
postParameters.add("action", "unKnown");
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/x-www-form-urlencoded");
HttpEntity<MultiValueMap<String, Object>> r = new HttpEntity<>(postParameters, headers);
ResponseMessage responseMessage = restTemplate.postForObject(url, r, ResponseMessage.class);
例2:RestTemplate发送JSON的示例
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(type);
headers.add("Accept", MediaType.APPLICATION_JSON.toString());
JSONObject jsonObj = JSONObject.fromObject(params);
HttpEntity<String> formEntity = new HttpEntity<String>(jsonObj.toString(), headers);
String result = restTemplate.postForObject(url, formEntity, String.class);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


