Spring使用RestTemplate模拟form提交示例

时间:2021-12-05 23:30:59

RestTemplate是用来在客户端访问Web服务的类。和其他的Spring中的模板类(如JdbcTemplate、JmsTemplate)很相似,我们还可以通过提供回调方法和配置HttpMessageConverter类来客户化该模板。客户端的操作可以完全使用RestTemplate和HttpMessageConveter类来执行。

1.声明RestTemplate的bean

?
1
2
3
4
@Bean
public RestTemplate restTemplate(){
   return new RestTemplate();
}

2.模拟调用

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@Service
public class SmsService {
   //注入RestTemplate
  @Autowired
  RestTemplate restTemplate;
 
 
  public String sendMsg(String phoneNum,String text){
 
 
    //请求头设置
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
 
 
    //提交参数设置
    MultiValueMap<String,String> p = new LinkedMultiValueMap<>();
    p.add("username","xxx");
    p.add("password","yyy");
    p.add("phoneNum",phoneNum);
    p.add("content",text);
 
    //提交请求
    HttpEntity< MultiValueMap<String,String>> entity = new HttpEntity< MultiValueMap<String,String>>(p,headers);
 
    String result = restTemplate.postForObject("http://....",entity,String.class);
 
    return result;
 
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.wisely.top/2017/06/02/resttemplate-form-urlencoded/