restTemplate如何发送表单(x-www-form-urlencoded)数据呢?

戚薇 Spring 发布时间:2023-05-15 21:07:20 阅读数:2807 1
下文笔者讲述restTemplate发送表单数据的方法分享,如下所示

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);
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Spring/202305/6448.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者