接口的故事

接口是为了解决庞大的公司和逻辑结构的关系而设置的。毕竟,面对一个人总比面对一大堆人要好的多。接口不仅是逻辑上的程序上的,还有一个与之血肉相连的负责人。对于技术人员而言,接口就是呼吸的空气,接口就是清冽的泉水,离开它就无法生存。

接口有各种各样形式的,从技术角度来说,有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中间找出那个不同的东西,经典的优选法题目。于是进行二分筛选快速找到了那个漏网之鱼,并把结果发给了接口人。接口人不容质疑的声音有了一丝丝变化,这种情况…可以反映到后台去了。听到这句话,就可以先干其他事情了。

 

人类最伟大的智慧就在于等待。在接口人的群中,人头闪动,脑袋中浮现了接口的种种景象:各种各样的开关,也有各种各样的使用开关的景象:有在那里摸索着开关并尝试操作的;也有大叫着去你妈的,狂按的;大部分还是简简单单的一按,整个房间就充满了光明。一切就是这么简单,挺好的。

时间: 2024-11-17 22:45:50

接口的故事的相关文章

【C# 复习总结】类、继承和接口

1 类 定义新的数据类型以及这些新的数据类型进行相互操作的方法 定义方式: class Cat { } class Cat:object { } C#中所有的类都是默认由object类派生来的,显示指定或者省略效果是一样的,所以上面的两个例子是完全相同的. C#中类包括:抽象类.密封类.非抽象类 abstract:表示修饰的类不完整,也就是抽象类,只能用做基类. 在使用是不能直接实例化, 不能使用new运算符. sealed:表示修饰的类不可派生,也就是密封类. base:访问最近的基类,也就是

必应的两个壁纸接口,可用来获取海量的高质量壁纸和相关故事

必应在国内的名气不是很大,很多人不知道.必应是美国微软的搜索引擎,类似与百度.不过,有个地方很有趣,必应的首页背景图,每日一换,从不重复.都是团队精选的世界各地的风景.人文类的美图,配有相关文字描述.还是挺有意思的,不过好像只能保存近10多日的数据,超期就无法访问了. 首先,第一个接口:http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1 可以获得当日的必应壁纸无水印高清图片的路径以及版权等信息.具体返回格式如下: { &qu

【.NET深呼吸】INotifyPropertyChanged接口的真故事

无论是在流氓腾的问问社区,还是在黑度贴吧,或是“厕所等你”论坛上,曾经看到过不少朋友讨论INotifyPropertyChanged接口.不少朋友认为该接口是为双向绑定而使用的,那么,真实的情况是这样的吗? INotifyPropertyChanged接口位于System.ComponentModel命名空间,在该命名空间下还有另一个接口:INotifyPropertyChanging.INotifyPropertyChanging接口定义了PropertyChanging事件,应该在在属性值正

WEB、接口、APP自动化测试的一些看法

当故事看即可,只是个人看法............... 目前在各个软件公司中基本上存在WEB和APP的对外系统,不管是电子商务.电信.新闻等基本上都有WEB和APP同时存在.对于APP个人感觉是新东西,但也觉得它就是个老东西,因为大家是否记得我们曾经装在电脑上的Application应用程序,当然一个管理软件当时就很NB了.不过现在手机上的Application和以前电脑上的Application当然不管技术上还是形态上都是不一样的,但使用上似乎是一样的,同样的下载---安装---使用.这些都

关于《Web接口开发与自动化测试--基于Python语言》

关于封面logo 首先,你会被书封上面logo吸引,这么炫酷?双蛇杖?嗯,这是Requests的新logo. 旧的logo是一只乌龟. 新logo是双蛇杖: 看到新logo我首先想到的是 火爆全网页游 “大天使之剑”,直到前两天一位网友告诉我这是双蛇杖,然后,我百度了一下双蛇杖的神话故事.然后,找到了Requests库开发者的一次提交,有人说喜欢旧logo,然后,得到的答复是:“This represents the peace Requests brings between the serve

Charles辅助调试接口(转)

原文地址Charles辅助调试接口 前面有一篇讲了关于抓包工具fiddler和charles,这里再写写我是怎样用charles辅助调试接口.Charles下载传送门. 这篇文章写了个头,没时间就一直放着没写,今天刚好周六,也早点下班了(苦逼的周六加班党),就把这个写完吧,其实这两天有点感冒头晕晕的,尽量不写错吧. 经常会有这样的场景: 场景一: 想看看其他的App是怎样设计请求,怎样设计返回数据格式,某一个功能点请求分几个实现的.最近我在用某听书软件听鬼故事(^0^),它们限制非VIP每天只能

提供移动接口API接口服务/从零到一

引语:现在互联网那么热,你手里没几个APP都不好意思跟别人打招呼!但是,难道APP就是全能的神吗?答案是否定的,除了优雅的APP前端展示,其实核心还是服务器端.数据的保存.查询.消息的推送,无不是在服务器端完成的,默默地!那么,怎样提供一个服务端接口就是一个至关重要的问题了! 也许你会说,现在APP这么泛滥,谁还不会写服务端API程序啊?是的,也许,你是对的,但是本文想说明的和要讲的故事,是一个从零到一故事,是一个思想,是一个历程,一个可以推演的过程! 在给出答案之前,先抛几个问题,如果你自认为

[1.30] 保持的力量:接口开发最佳实践

神啊,求你赐给我平静的心,去接受我无法改变的事:赐给我勇气,去做我能改变的事:赐给我智慧,去分辨两者的不同. --平静之祷 1.30.1 论保持的力量 追到一个心仪的女生不难,难于如何保持和培养一份真挚的感情:获得一时的财富也不难,难于如何长久保持收益:创业的公司很容易博得一时媒体的关注以及某次天使的投资,但难于如何排除各种障碍.充分利用各方资源发展成中企业及至上市公司. 同样,提供一时的接口很容易,但当我们需要不断为接口提供升级,以及当我们维护提供一整套接口时,面临的困难和问题会越来越大.所以

【网站国际化必备】Asp.Net MVC 集成Paypal(贝宝)快速结账 支付接口 ,附源码demo

开篇先给大家讲段历史故事,博主是湖北襄阳人.襄阳物华天宝,人杰地灵,曾用名襄樊.在2800多年的历史文化中出现了一代名相诸葛亮(卧龙),三国名士庞统(凤雏),魏晋隐士司马徽(水镜先生),唐代大诗人孟浩然(孟襄阳),张继.杜审言,文学家皮日休,北宋著名书画家米芾(米襄阳),“允冠百王”的光武帝刘秀,东方圣人释道安等一大批历史文化名人.小说<三国演义>120回故事中有30多回提到襄阳. 相传诸葛亮的老婆黄月英黄头发黑皮肤,但知识广博.诸葛亮发明木牛流马,就是从黄月英的传授的技巧上发展出来.不仅如此