查看: 155|回复: 0

[Java学习] Spring使用RestTemplate模拟form提交示例

发表于 4 天前

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

1.声明RestTemplate的bean

  1. @Bean
  2. public RestTemplate restTemplate(){
  3. return new RestTemplate();
  4. }
复制代码

2.模拟调用

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

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



回复

使用道具 举报