在设计确保向后兼容性和新版本发布的API时,有什么最佳实践需要记住。任何链接到文章/博客表示赞赏。确保向后兼容性的API设计
回答
你应该看看这个演示约API设计。它来自Google,非常好。 它还解决了向后兼容性和新版本。
都保持运转,用版的网址。 api.mysite.com/[version]/api/url/here
。在API的新版本到达时通知用户,并在一段时间后删除旧版本。无论什么时候不再使用,或者6个月,确保用户有足够的时间来改变它。
或保持运行下去,但是没有为其提供任何新的功能。
这基本上是我在多个项目中使用的方法。我经常见到的另一种模式是让'api.example.com /'指向最新版本的API - 注意缺少版本号。不想要最新和最好的客户端可以免费访问版本控制的URL - 'api.example.com/v1 /' – Anurag 2012-01-18 09:07:58
有一些讨论,如果您在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
谢谢。这些更接近版本化API和部署这些API。我想知道,如果有关于如何公开API的,如果你的数据架构更改会发生什么情况的任何指引(删除/修改某些数据类型,其通过公开的API的等) – Sampat 2012-01-18 09:22:43
最好的方式做到这一点,以保持在新版本中的新接口和类旧的接口或类以及它们标记为弃用(指那些将在未来版本中删除)。
听API设计师牢记关于公共接口和发布接口之间的差异。
- 1. 向后兼容性材质设计
- 2. 如何确保URL重写后的向后兼容性?
- 3. 为了支持向后兼容性,明确设计了哪些Java设计?
- 4. 正确的向后兼容性,java.lang.VerifyError
- 5. aspnet-api-versioning - 向后兼容性
- 6. Android地图API v2向后兼容性
- 7. Android:如何保持向后兼容性?
- 8. CUDA计算能力向后兼容性
- 9. 确保动态加载类型的向后兼容性
- 10. C#的向后兼容性
- 11. .net 4向后兼容性
- 12. XSD向后兼容性
- 13. Silverlight 5向后兼容性
- 14. 向后兼容性play-1.2.3
- 15. WP7.1向后兼容性
- 16. pandas.DataFrame.to_pickle向后兼容性
- 17. UWP MediaPlayerElement向后兼容性
- 18. 向后兼容性dll
- 19. GCC向后兼容性
- 20. Xcode向后兼容性
- 21. Visual Studio向后兼容性
- 22. visual studio向后兼容性
- 23. 设计iphone应用向后兼容性 - 屏幕尺寸
- 24. 我是否需要为向后兼容性设计节标签?
- 25. 材料设计,AppCompat和向后兼容性
- 26. 设计EWGI兼容性
- 27. 向后兼容C#/ .NET API的工具?
- 28. 二进制兼容性vs向后兼容性
- 29. StructureMap 2.6.1的向后兼容性问题
- 30. 对Caches目录的向后兼容性
http://lcsd05.cs.tamu.edu/slides/keynote.pdf <<断链:( – kinar 2016-05-17 19:10:42
,但仍然打破,也许这是一个?http://static.googleusercontent.com/media/research。 google.com/en//pubs/archive/32713.pdf – user180574 2016-07-01 19:32:06
链接已损坏 – Salar 2016-11-19 09:51:53