因项目需要,需要配置spring的全局异常消息捕获,并进行钉钉消息推送,使用钉钉的机器人进行消息群推送,以下是钉钉机器人的配置使用
在进行钉钉消息推送的时候,本地测试消息推送无异常,但项目已启动进行异常消息推送的时候,总是报错:
com.dingtalk.api.DingTalkClient
查询了很多资料,排查了很多地方,并没有找到具体原因,本身使用的是钉钉的sdk,已经加载到项目中了,使用的方式按照以下文章进行的配置:
因为项目本身加载了众多淘宝系的sdk,经推测可能是众多com.top包下的类及方法重复,使程序并不明白具体的指向,但仅仅是推测并未找到具体原因,因项目进度问题,无法继续深入研究,所以在查看了钉钉sdk的底层代码后,具体使用自定义的方法进行钉钉的消息推送
钉钉的消息推送是post请求,前面是关于钉钉的请求源码分析,后面是我仿照其源码编写的请求工具类,可直接使用
上面这行代码在
package com.dingtalk.api;包下的 DefaultDingTalkClient类中
红色框中圈起来的是重点代码,
fullUrl:这个参数是请求的url地址,这个是你配置钉钉机器人给的,url需要是全的后面带token jsonParams:这个是里面是请求的参数和具体内容,具体可以debug走一遍,注意是要转为json的格式
connectTimeout readTimeout 这两个参数具体值类中有配置,固定参数
上面这个方法的作用其实是拼接了请求的格式,即
ctype== "application/json;charset=UTF-8" ;
然后把请求的参数和具体内容转换为字节数组,然后调用dopost方法
<