当前位置: 首页 > 编程笔记 >

Spring使用RestTemplate模拟form提交示例

黄靖
2023-03-14
本文向大家介绍Spring使用RestTemplate模拟form提交示例,包括了Spring使用RestTemplate模拟form提交示例的使用技巧和注意事项,需要的朋友参考一下

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

1.声明RestTemplate的bean

@Bean
public RestTemplate restTemplate(){
   return new RestTemplate();
}

2.模拟调用

@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;

  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 我现在在运行时看到.Intercept正在获得null对象值。 有人能建议我怎么修理吗。

  • 问题内容: 我有MockRestServiceServer来模拟服务中的restTemplete。但是它总是失败。它显示错误为。任何人都可以让我知道我在哪里做错了。 服务本身将如下所示: 问题答案: 首先,您的类会在每个请求上创建一个RestTemplate的新实例。我不能足够强调这种不良做法。创建一个类型为RestTemplate的bean并将其注入到您的bean中(它很可能已经创建- 取决于您

  • 我尝试了很多方法来模拟restTemboard交换,但模拟没有发生,实际的交换不断调用并给我url无效异常。 我的CallRestService方法如下 我的模拟如下: 我还尝试返回已注释的响应实体。但每次都会有例外。 我对mocking的理解是,不会调用实际的exchange方法,那么我如何获得resttemplate exchange异常。 如果需要任何输入,请评论。 谢谢你的支持。 更新:我

  • 我的要求是测试这段代码,更重要的是测试序列化器,因此,给出一个JSON片段,我如何测试所有的值都正确地通过商人的实例。 我不知道RestTemplate使用哪个序列化器将JSON序列化为对象。

  • 本文向大家介绍angularjs $http实现form表单提交示例,包括了angularjs $http实现form表单提交示例的使用技巧和注意事项,需要的朋友参考一下 需求:请求第三方后台接口返回一段html字符串如下,由前端去实现form表单的POST提交, 说明:form表单submit()实现自动提交input标签hidden,注意script代码中的document.redirect.

  • 我试图使用下面的代码模拟方法,但我得到了异常,而且我是单元测试的新手