API管理和最佳实践

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了API管理和最佳实践相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

答案

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

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

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

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

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

以上是关于API管理和最佳实践的主要内容,如果未能解决你的问题,请参考以下文章

API管理和最佳实践

在片段和活动之间进行通信 - 最佳实践

更新片段参数的最佳实践?

在android中使用底部导航的最佳实践:活动与片段

android片段-数据传递-最佳实践[重复]

无需重复代码的 REST api 最佳实践版本控制