API管理和最佳实践
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了API管理和最佳实践相关的知识,希望对你有一定的参考价值。
试图得到一些专家意见和方向:
我们正在探索客户的一些RestAPI,以获取数据并在最终构建数据库。有些使用sql,一些nosql数据存储。
我们应该如何设计端点?具有嵌入引用对象的大对象或单独对象的单独端点?参考怎么样?在我们查看模式时,是否有任何最佳实践需要牢记?
示例:电影有图像电影有类似的电影电影也有演员
另外,如何评估新端点是否有意义或在现有端点中嵌入对象更好?
好奇地听到一些想法和推理。
答案
根本问题是:你是否总是要求提供全套数据(图像,类似电影,演员......),或者你想要选择只获得部分数据?第二个问题是:数据集重叠了多少? (演员可以播放> 100部电影并在每部电影信息中检索他的信息毫无意义)
如果你总是希望得到它,那就选择带有嵌入引用对象的大对象(只记得使用压缩)。如果网络带宽有问题,这种方法应该更有效。
如果您希望获得更大的灵活性,那么最好选择不同的端点。这将导致更多的网络流量。如果您选择这种方法,您应该考虑使用某种缓存。
另一方面,您可以创建混合,返回/movie
的基本信息,但/movie?include=images,cast
和/movie?include=all
的扩展数据。但这需要更多的开发工作。
也可能有第四种选择。你听说过GraphQL(https://graphql.org/)吗?它允许定义要检索的数据。
以上是关于API管理和最佳实践的主要内容,如果未能解决你的问题,请参考以下文章