程序员如何才能提高API的研发能力?这里有给年轻程序员的几条建议
作为程序员,你应该也有这样的烦恼吧:到底怎么样才能提高自己设计API的能力?前阵子刚看了一篇关于程序员中年危机的文章,顿时觉得如果不好好提升自己,淘汰迟早是会到来的。作为一个从业近十年的程序员,我今天就借助“赛合一数据”的名头来说一下我的感受。
想要提高自己对于API的设计能力,首先不能少的一点肯定是多看优秀开源项目的代码。好好看看你熟悉的语言类库,看看它们是怎么写的,为什么要那么设计?自己写API的时候,要多思考使用场景,想想哪些条件可能会变,想象是否可以做到在一定阶段内以不变应万变?
还有一点就是动手写,争取做到简单、易懂、易用, 自己再以应用开发者的角度去调用这些API开发应用,这个时候就不要再去改API,看看会遇到什么问题,遇到了再好好想想,这种情况是否是可避免的,该怎么去设计API,才能避免此类问题。
以下是我分点总结的一些技巧,大家可以参考以下:
基础级别的:
1. 返回的数据或错误代码正确详查HTTP Response Code
2. 能给什么数据尽量给,免得以后要补,不能给的不要让用户知道
3. 返回类型一般是text/plain或者text/json,后面段数高了再细说
4. 清晰的文档附上例子和结果,顺便测试你写的API
5. 发布之后不要改对象结构,添加条目可以,但是删除或修改会导致用户出错,慎重。实在不行开个新的API地址
6. 正确使用GET和POST90%的情形应该都是GET,另外UPDATE和DELETE这些一般没人用的,支持也不怎么好。特殊字符需要转义的要留意
专业级别的:
7. 访问监控一般都做帐号,token验证IP和访问频率要有,Rate Limit也要有
8. 白名单给有关部门开开门,他们要抓取数据检查内容是否健康。海外服务器就无所谓了,可以考虑卖VIP帐号
9. 防止注入
10. 性能,做适当的cache
11. 合理使用path param和query param
12. 分页cursor token
领取专属 10元无门槛券
私享最新 技术干货