SpringBoot使用RestTemplate发送POST
请求的参数有application/json
和 FormData
两种形式:
参数是
json
形式,直接使用阿里巴巴的json包com.alibaba.fastjson
,代码如下:1
2
3
4
5url='http://posturl';
JSONObject postData = new JSONObject();
postData.put("id", 1);
JSONObject result = restTemplate.postForEntity(url, postData, JSONObject.class).getBody();
return result;参数是
formdata
形式则需要使用RestTemplate发送multipart/form-data
格式的数据
对请求头进行设置
1
2
3
4
5
6
7String url = 'http://posturl';
MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>();
map.add("id","1");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<MultiValueMap<String, String>>(map, headers);
return restTemplate.postForEntity(url, request,String.class);不设置请求头
1
2
3
4String url = 'http://posturl';
MultiValueMap<String, String> map= new LinkedMultiValueMap<String, String>();
map.add("id","1");
return restTemplate.postForEntity(url, map,String.class);