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.
我试图使用下面的代码模拟方法,但我得到了异常,而且我是单元测试的新手