2012-01-18 80 views

回答

5

你应该看看这个演示约API设计。它来自Google,非常好。 它还解决了向后兼容性和新版本。

How to Design a Good API and Why it Matters

+0

http://lcsd05.cs.tamu.edu/slides/keynote.pdf <<断链:( – kinar 2016-05-17 19:10:42

+2

,但仍然打破,也许这是一个?http://static.googleusercontent.com/media/research。 google.com/en//pubs/archive/32713.pdf – user180574 2016-07-01 19:32:06

+0

链接已损坏 – Salar 2016-11-19 09:51:53

6

都保持运转,用版的网址。 api.mysite.com/[version]/api/url/here。在API的新版本到达时通知用户,并在一段时间后删除旧版本。无论什么时候不再使用,或者6个月,确保用户有足够的时间来改变它。

或保持运行下去,但是没有为其提供任何新的功能。

+1

这基本上是我在多个项目中使用的方法。我经常见到的另一种模式是让'api.example.com /'指向最新版本的API - 注意缺少版本号。不想要最新和最好的客户端可以免费访问版本控制的URL - 'api.example.com/v1 /' – Anurag 2012-01-18 09:07:58

+0

有一些讨论,如果您在url方案中包含版本控制,是否仍然可以将其称为REST api 。请参阅http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven或http://thereisnorightway.blogspot.com/2011/02/versioning-and-types-in-resthttp -api.html – 2012-01-18 09:18:16

+0

谢谢。这些更接近版本化API和部署这些API。我想知道,如果有关于如何公开API的,如果你的数据架构更改会发生什么情况的任何指引(删除/修改某些数据类型,其通过公开的API的等) – Sampat 2012-01-18 09:22:43

3

最好的方式做到这一点,以保持在新版本中的新接口和类旧的接口或类以及它们标记为弃用(指那些将在未来版本中删除)。

听API设计师牢记关于公共接口和发布接口之间的差异。