前阵子,领导让写个文档教程,教下同事接数据。
项目会调用多个第三方公司的数据,数据同步的方式有多种,库表同步,接口同步,ftp文件同步等。
这里面介绍,需要用java开发api接口的同步方式
以下面这个接口为例
1.把请求参数写入到post中
参数多种传入方式,header、body、param
一般情况下,
header 里面会带token认证 、或者 appkey,或者别的sign认证,这个主要是用户认证,好比你的账户id,
Body里面传报表(业务数据,例如区县编码),
param传 开始日期、页码,
这三个参数并非必填,有的header无需传参,有的body无需传参
以上参数写好后,会将变量写入到post方法中(post方法有多种,也可以自定义)
2.处理post返回的数据
可以看到实际是要获取到 pageData的数据,返回值一般为string类型
做一个string to json 的转换 然后获取 pageData的每行数据
3.将处理后的数据写入数据库
调用数据库,1.需要读取数据库配置信息,2.获取连接,3.执行sql ,4.释放资源
4.上线
将 写好的代码达成jar包,上传到linux上去,
Jar -jar 命令、或者 jar -cp 命令 代码就可以执行一次
然后,用调度平台定时调度或者 crontab 调度
5.总结
日常数据开发花费的精力一部分在
1.请求参数的获取,部分请求参数是动态变化的
例如,body里面需要传入区域id,需要先查dim表获取到区域id,然后写入到body,发送post请求
2.还有一部分是对post请求的返回数据,做处理,因为json返回的格式如果双方没有约定好,里面数据是多层json嵌套,需要做处理
6.进阶
如果 有接口 body传参相似,header传参相似,json返回格式相似,
那么写个模板,只需要让args传输,上面这些参数,就不用频繁开发了
这个代码模板,
优点,如果上面的参数 都和模板写好的代码匹配上,开发就轻松些,只需要调参数
弊端,但是并不是每个接口都适用于这套模板,之前写的接口不适用,都是在这个模板里做了定制处理(if 特殊表 -》处理),需要考虑兼容之前的代码,这种兼容代码,有风险会改掉之前的逻辑个人喜欢,有一个接口,写一段代码灵活自由些