API给技术产业带来了巨大的变化,已经成为移动,云和物联网等技术的先锋部队。服务导向架构(SOA)和API优先方法已被证明具有超高整合能力和多平台支持能力。在工作过程中,我注意到有些公司在API使用上还有提升空间,我在这里分享5点最容易犯的新手错误,以供参考与借鉴。
API的”A”意思是”应用”。因此应该把API看作是一个端到端的应用。广泛使用的BDD/TDD方法是最佳实践。买车的时候,你难道只会把车里每个按钮都尝试按下而不尝试开一开?API运维或多个APIs,都是遵循一定的顺序的。你应该站在最终用户的角度来进行测试,并使测试的规模和负载接近真正的生产环境。反之,如果你只关注用户程序本身而不是API,那么很容易会导致错误2的出现。
很多人会有类似的想法,因为用户应用是以APIs驱动的。其实这好比认为房子是好的,那么房子的地基也一定是好的。这种想法的缺点是忽视了所有的缺陷和失误。APIs整合过程若处理不当,是会引起很多缺陷的,所以应引起足够重视。其次,当应用运行失败时,找准API运行正确和不正确的地方,将会使你的排错过程事半功倍。
很多API提供者为了帮助用户整合其API,会倾向于为用户提供相应的工具或SDK,如.NET和JAVA。
但是这样一来,团队成员不得不试图掌握多种编程语言。进一步看,部门与部门之间所掌握的语言如果不相同,将会带来极大的不便。此外,更多的SDK,就意味着API变更时要修改更多的代码。所以应该把重点放在API本身而不是SDK或工具。
当人们开始习惯使用REST时,便引入了一个重要的概念—-Web服务描述(SOAP中的WSDL)。当人们整合一个外部API时,将首先从与SOAP API相关的WSDL开始着手。此外,还有很多更好的REST描述语言以供使用,如Swagger,AKA等。无论采取哪种方式,关键一点是要方便人们能更快地使用你提供的API。
很多时候,人们经常会在API讨论区看到这句话,“只要创建,就能成功!”。但其实要成功,还必须关注整个生态系统。
原文: 5 Rookie Mistakes That Can Destroy Your API Strategy
作者:Michael Giller 翻译 :王嘉怡 责编 :仲培艺