API管理和最佳实践

问题描述 投票:0回答:1

试图得到一些专家意见和方向:

我们正在探索客户的一些RestAPI,以获取数据并在最终构建数据库。有些使用sql,一些nosql数据存储。

我们应该如何设计端点?具有嵌入引用对象的大对象或单独对象的单独端点?参考怎么样?在我们查看模式时,是否有任何最佳实践需要牢记?

示例:电影有图像电影有类似的电影电影也有演员

另外,如何评估新端点是否有意义或在现有端点中嵌入对象更好?

好奇地听到一些想法和推理。

api facebook-graph-api
1个回答
0
投票

根本问题是:你是否总是要求提供全套数据(图像,类似电影,演员......),或者你想要选择只获得部分数据?第二个问题是:数据集重叠了多少? (演员可以播放> 100部电影并在每部电影信息中检索他的信息毫无意义)

如果你总是希望得到它,那就选择带有嵌入引用对象的大对象(只记得使用压缩)。如果网络带宽有问题,这种方法应该更有效。

如果您希望获得更大的灵活性,那么最好选择不同的端点。这将导致更多的网络流量。如果您选择这种方法,您应该考虑使用某种缓存。

另一方面,您可以创建混合,返回/movie的基本信息,但/movie?include=images,cast/movie?include=all的扩展数据。但这需要更多的开发工作。

也可能有第四种选择。你听说过GraphQL(https://graphql.org/)吗?它允许定义要检索的数据。

© www.soinside.com 2019 - 2024. All rights reserved.