美文网首页
接口规范想哪说哪

接口规范想哪说哪

作者: 麦芽面包 | 来源:发表于2016-08-06 23:56 被阅读36次

java服务型RPC框架所选用的远程调用方式有两种风格:用jar包和纯REST方式。

jar包方式的好处是用了对方提供的二方包,API都打在里面了,使用时直接能弹出提示;问题也很明显,随着引用的jar包越来越多,排包工作占了一半时间。

REST方式则直接以HTTP协议作为载体传递数据,彻底解耦了与调用方的关系;但这时不能像jar包那样方便的从IDE弹出使用提示了,要先看对方给的文档,但程序员写的文档大家都懂的,最后要费大量口舌联调沟通。这方面微信的开放平台做的文档还是不错的。

技术负责人应尽量考虑使用的开发者的应用细节,尽量减少对开发者的干扰。而为了大型团队沟通效率的提高,又需要制定开发规范来约束开发者的自由发挥空间。

如在定义统一的WEB API返回结果上,最简单直接的就是没有约束,使用各种开源框架的标准回复,由于基础框架就是对基本功能的封装,都是随意开发怎么写。

java servlet上就是HttpResponse。

如果使用一些json序列化形式的返回的话,可能json形式的就是:

{
  "weather": normal,
  "area" : hangzhou,
}

这种返回很简单,但也很随意,大规模工程上希望所有人遵守同样的规范做事,例如这种返回如果出错了该返回什么呢?

  1. 又要开发自己随便定个status: error?
  2. 如果结果是error了,要不要加个返回码给前端呢? 例如 errorcode: 1
  3. 那么这个1代表什么意思呢? 是不是大家可以默认errorcode为0就是正常呢?
  4. 再下一步,如果有error了,前端一般都需要一条提示信息,例如XXXX错误,这个详细信息我们是不是又要定一个errormessage呢?

于是一个错误的返回可能就变成了这样:

{
  "status": 1
  "errorcode": 202
  "errormessage" : 服务器繁忙
}

既然这样,那么正确的返回就不能太随意了,也要跟着这个来,正常的返回可能就要变成这样了:

{
  "status":0,
  "body":{
  "weather": normal,
  "area" : hangzhou,
  }
}

为了达到这样的效果,设计者就不能让开发简单的用个

String jsonInString = mapper.writeValueAsString(staff);
这种形式来玩了,我们需要通用解决方案。

开放式平台对外的接口设计是很重要的一块,要考虑到简单,扩展性,易读性。这里就先不讲怎样设计API接口了。先讲讲设定规范的思路,首先我们想让普通开发人员无感知,那么就应该在他返回了response后对他的结果做点什么,找切入点,无论返回了什么内容,都封装上一层类似于http header的东西,包括了本次请求的状态信息。

reponse class-> json -> [head]+json

这样在团队交付标准规范化后,个人的交付件就是一个标准集,团队的交付件就是一个整体。我们希望每个人都不是散兵游勇,而是集团化作战。此种小细节日后想到别的再来聊聊。

相关文章

  • 接口规范想哪说哪

    java服务型RPC框架所选用的远程调用方式有两种风格:用jar包和纯REST方式。 jar包方式的好处是用了对方...

  • 想 哪 说 哪

    运华日记第208篇(2018.4.26) 想 哪 说 哪 每个周四下午是我们读书会的读书分享日。今天...

  • 想哪说哪

    每天晚上都舍不得去睡觉似,白天上班看宝宝,只有到了晚上宝宝睡觉了才能做些自己一个人的事。 窝在被窝里,自...

  • 想哪说哪

    2014年冬,一位身患癌症的单亲妈妈,在病情稳定后重新跨入现实的一篇碎碎念。 好久没有发表日志了,不是没什么可写,...

  • 想哪说哪

    从昨晚7点一直迷迷糊糊睡到现在的16:40,睡的不沉,听到手机响的铃声,听到儿子和我说再见,听到开门关门的声音,只...

  • 想哪说哪

    昨日一天没学习。军嫂子去村里扶贫,要油要面。所以我守了一天的店,让老公去批发油和面。军嫂子平时没交集,记得帮我,甚...

  • 想哪说哪

    一 今天是6月7日,明年的今天就是女儿高考的日子,还有整整一年的时间。为了孩子上学,...

  • 想哪说哪

    人活一世不容易。为什么快乐总是那么少,不快乐总是那么多呢? 有的伙计有事总是喜欢找我,一次又一次的...

  • 闲着也是闲着 | 想哪说哪

    人有时会被情绪左右。 古人言:不以物喜,不以己悲。 我们做不到完全没有喜悲,我们能做的是不要大喜大悲,喜怒无常。 ...

  • 想哪写哪

    想哪写哪吧今天---秋后 你知道差三秒错过一趟公交啥感觉吗? 我过地下通道是跑着的, 然后其实给我三秒,我不...

网友评论

      本文标题:接口规范想哪说哪

      本文链接:https://www.haomeiwen.com/subject/bkflsttx.html