RestTemplate 设置头信息,发送post请求,并携带参数(发短信)

RestTemplate 设置头信息,发送post请求,并携带参数(发短信)


@Bean
    RestTemplate smsClient(RequestLogInterceptor requestLogInterceptor) {
        RestTemplate restTemplate = new RestTemplate();
        restTemplate.getMessageConverters().add(new FormHttpMessageConverter());
        List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>();
        interceptors.add(requestLogInterceptor);
        restTemplate.setInterceptors(interceptors);
        return restTemplate;
    }

//添加参数
MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
    map.add("cmd", "sendMessage");
    map.add("userName", channelConfig.getAccount());
    map.add("passWord", channelConfig.getPassword());
    map.add("phoneNumber", mobile);
    map.add("body", message);

//设置头信息
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
    HttpEntity<Object> requestEntity = new HttpEntity<Object>(map, headers);

//请求
    ResponseEntity<String> o = smsClient.exchange(channelConfig.getAccessUrl(), HttpMethod.POST, requestEntity, String.class);

//反回
    YrztSenderResponseVo result = JSON.toJavaObject(XML.toJSONObject(o.getBody()), YrztSenderResponseVo.class);

//解析结果
    List<Field> fields = result.getBody();
    if (fields.size() > 0) {
      for (Field f : fields) {
        // 0表示发送成功,非0表示失败
        if (f.getName().equals("resultCode") && f.getValue().equals("0")) {
          return ResponseVo.success();
        } else {
          logger.error("云融正通短信服务code值", f.getValue());
          return ResponseVo.fail("999999", "短信发送失败");
        }
      }
    }
    return ResponseVo.fail("999999", "短信发送失败");

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值