接口是为了解决庞大的公司和逻辑结构的关系而设置的。毕竟,面对一个人总比面对一大堆人要好的多。接口不仅是逻辑上的程序上的,还有一个与之血肉相连的负责人。对于技术人员而言,接口就是呼吸的空气,接口就是清冽的泉水,离开它就无法生存。
接口有各种各样形式的,从技术角度来说,有Json的,有xml的;有http的,有rpc协议的;有同步的,有异步的。为了屏蔽如数据分析等复杂的逻辑和部门,对调用者来说,只要简简单单调用系统分析的接口就能完成工作了。接口极大的提升了开发人员和公司运作的效率。任何复杂的逻辑只要有接口,就变的容易了。
接口也是连接所有部门的通道,围绕接口展开的不只是合作,有时也是斗争。在接口中体现的东西有很多,比如最近经历的一件事:
某日,有个对账接口调用出问题了,渠道账务数据没出来。打开putty,登陆到日志机,看下日志发现调用接口xml解析出错了:
[2014-11-04 05:00:02,455 executor-1119] - DownloadHandler.download error, caused by
java.lang.NullPointerException
匆匆扫视了代码,确定是调用渠道接口出现了问题。拿起了白色桌面上的黑色电话,按键,嘟嘟几声后,我开始陈述起接口的种种问题。随着恩,恩等确定收到消息的语气词。
随后耳畔响起了熟悉又陌生的接口人的声音:给我调用的请求url。我小心翼翼的从代码中拼接出了请求的url,以一种坦然但平静的声音告诉对面的接口人,说明我所处的境地,并期待能从这接口人中得到接口的回应,让他将此时我所看到的接口后庞大的运转机器进行适当的完善和修理。
接口人带着一种热情且不容质疑的口气说:调用接口的方法不恰当。我又开始扫视了自己的拼接的url,看看这把“钥匙”究竟是怎么了?额,那您能告诉我哪个有问题么?这个,还有那个。此时一种无力感油然而生,感觉自己是一个躺在床上的人。而电话里的接口人在用一个先进的仪器对一个被审判的人进行扫描,并且不停的询问你的症状。
按照接口人指示的方法进行了拼接,尝试着敲下了回车键,出现了一堆接口返回的信息,其中信息里有“未知错误“。疑惑的把这个结果发给了接口人,接口人继续以一种坚定的语调说,这个请求依然有问题。请求的pagesize过大,造成显示错误。我慢慢地产生了一种怀疑的情绪,开始将pagesize调成500还是出不来。望着qq群中接口人的话语,卷入了一种无法脱身的漩涡之中,开始考虑接口中到底有什么隐藏的东西。于是我着手进行了数字的修改,缩成1是能展示的,100也可以,200就不行了。
有什么藏在100和200之间呢,问题转化成如何从100和200中间找出那个不同的东西,经典的优选法题目。于是进行二分筛选快速找到了那个漏网之鱼,并把结果发给了接口人。接口人不容质疑的声音有了一丝丝变化,这种情况…可以反映到后台去了。听到这句话,就可以先干其他事情了。
人类最伟大的智慧就在于等待。在接口人的群中,人头闪动,脑袋中浮现了接口的种种景象:各种各样的开关,也有各种各样的使用开关的景象:有在那里摸索着开关并尝试操作的;也有大叫着去你妈的,狂按的;大部分还是简简单单的一按,整个房间就充满了光明。一切就是这么简单,挺好的。