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);
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。