使用RestTemplate的意义
通常在一个项目开发中,经常会出现调用外部系统的接口来实现相关业务功能,一般而言,会通过http协议进行接口
调用。调用的http的客户端调用方式有很多,如:OkHttp,HttpClient等等,我这里选用SpringBoot里面集成的RestTemplate。
配置超时时间
一般请求外部接口的时候,可能由于网路的问题,也可能被调用的出现的一些问题,造成接口迟迟不能响应,这样最终的结果
就是把自己系统拖垮,这个时候有必要设置超时时间,进行断链。在SpringBoot进行配置超时时间很容易的,通过Bean的配置注入。
反序列化出现字段不匹配
我们对接其他系统的时候,由于可能不是java语言,出现的很多规则不一致,出现数据转换的问题。比如:java中,成员变量的名字应该是驼峰法,但是很多语言并不是这样的规则,比如大写,下划线等等,应有尽有,总有一种你想不到的,所以我们调用他人的系统,一般不可能叫别人去改,所以我们自己必须做适配。
这里有两种思想法案(前提返回是JSON数据):
第一种:就是全局配置,修改HttpMessageConverter(暂时没有找到方案,后续更新)
第二种:每一个的成员变量进行适配(比较烦,一直重复写同样东西)
在SpringBoot的数据转换操作都是通过HttpMessageConverter进行数据转换,一般而言系统对接通常采用json数据传输,spring mvc默认使用的是jackson工具。如果数据名称不一致,会造成反序列化失败,所以使用@JsonProperty进行名称修改适配。
设置请求头数据
我们在请求数据的数据的时候,第三方系统接口需要添加认证条件,在请求头部设置token信息。
网友评论