不用集成钉钉官方sdk,直接用RestTemplate发送钉群提醒工具类

1.钉钉官方sdk未推送至maven仓库,如果自己要应用,得自己加如项目或私仓,会增加维护成本,但平时我们只要用推送功能就行,特写如下工具类,有需要可直接拿去用。

2.springboot启动类注入restTemplate模板工具类

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

此时使用restTemplate接口可能抛转换异常,此时加上如下代码

    public class WxMappingJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter {
        public WxMappingJackson2HttpMessageConverter(){
            List<MediaType> mediaTypes = new ArrayList<>();
            mediaTypes.add(new MediaType("text", "plain", Charset.forName("UTF-8")));
            mediaTypes.add(new MediaType("*", "json", Charset.forName("UTF-8")));
            mediaTypes.add(MediaType.TEXT_PLAIN);
            mediaTypes.add(MediaType.TEXT_HTML);  //加入text/html类型的支持
            setSupportedMediaTypes(mediaTypes);// tag6
        }
    }

    @Bean
    public RestTemplate restTemplate() {
        RestTemplate restTemplate = new RestTemplate(simpleClientHttpRequestFactory());
        //这个地方需要配置消息转换器,不然收到消息后转换会出现异常
        restTemplate.getMessageConverters().add(new WxMappingJackson2HttpMessageConverter());
        return restTemplate;
    }
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.web.client.RestTemplate;

import java.util.HashMap;
import java.util.Map;
/**
 * @author lyr
 */
 @Component
public class DingDingUtil {
    @Autowired
    RestTemplate restTemplate;
    /**
     * 发送消息
     * @param content
     */
    public void sendMessage(String content) {
        DingModel dingModel = new DingModel();
        dingModel.setMsgtype("text");
        Map<String, Object> map = new HashMap<>();
        map.put("content",content);
        dingModel.setText(map);
        HttpEntity<DingModel> httpEntity= new HttpEntity<>(dingModel);
        restTemplate.exchange("钉钉地址", HttpMethod.POST,httpEntity,Result.class);
    }
    
}

@Data
class DingModel{
    private String msgtype;
    private Map<String,Object> text;
}

@Data
class Result {

    private Integer code;

    private String message;

    private Object data;
}

3.要用的地方注入调用即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值