开发API接口需要哪些知识?
个人一直从事Java服务端开发,如今已经是移动端的天下,几乎每一个C端的项目应该都是前后端分离的,或APP native开发,或H5 web开发,小程序、公众号开发,这些基本都是前后端分离的项目,也就是需要服务端同学开发API即可,不需要关心前端相关技术栈了,也可以说是技术工种的再一次细分。
那么作为一个服务端开发人员,开发API接口需要哪些知识呢?个人觉得可以从两个角度来看:
自己公司产品开发API
给第三方开发API,也叫OpenAPI、开放API,很多大公司都有自己的开放平台
个人认为只有开发好了自己公司的API,才有资格或者有能力开发好开放API!
那么从开发自己公司API开式,个人觉得需要以下知识点:
响应时间要快“天下武功,唯快不破”,一个好的API接口响应时间一定要快,多快算快?没有最快,只有更快!一般公司会要求所有API响应时间不得超过100ms,高并发API再单独要求,例如不得超过40ms,且吞吐量超过3000tps!
返回的数据格式要稳定相信做过API开发的同学一定有经验,由于序列化方式的不同,有时候一个字段没有值的时候可能会返回如下三种情况:
这个字段在返回的json串里没有了;
这个字段返回的是一个null;
这个字段返回的是一个空字符串。
如果你是前端的话,每个接口规则都不一样,你头大不大?是不是代码里到处都充斥着
if(id && id != null && id != "")这样的判断代码?一不小心忘记处理了,然后APP的奔溃率就上来了。
文档要清晰标准一个好的API一定要有一个好的文档,API是灵魂的话,文档就是肉体以及华丽的外表,每一次对接口的更新都要及时反馈到文档上去并且及时的告知前端开发人员。我平时常用的就是把API文档写在wiki上,固定好一个API文档模板,大家都按照这个规则去写就好了,这样前后端联调时候对照清晰的文档也会省去很多的沟通成本。切不可因为懒得写文档,觉得联调时候沟通充分就可以了。你要知道随着时间的推移,这个API很可能就被你忘了,或者接手的同事也无从下手。所以一定要有一个清晰的文档!
那么在此基础上如何开发一个优秀的开放API呢?个人认为这个大家其实都知道怎么一回事,因为即使你没写过openAPI,你还没调用过openAPI吗?微信支付、支付宝支付、极光推送、IM、友盟、OCPC、客服等等第三方应用都需要咱们调用他们的API,看过别人怎么玩的,咱自己照抄就好了。还有一点想要说的就是:“把握好自己的需求,千万不要过度设计!”
这里没有说具体的技术,实际上把以上工作做好了,关于技术这些自然也就好了,细节注定成败,大家认为开发一个好的API最重要的事情是什么?欢迎评论区留言讨论~
我是【java架构设计】,关注我,持续为您提供优质内容!Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有