我的问题是我提出了太多的API请求,如果可能的话,我想减少这些请求。下面我将描述情况:
我有三页,都使用链接ngRoute
。像这样:
Page A: Teams (list of teams)
URL: "/teams"
Page B: Team Details (list of players)
URL: "/teams/team-details"
Page C: Player Details (list of player stats)
URL: "/teams/team-details/player-details"
通过使用一个简单的$resource.query()
请求非常容易地从API中拉出一组团队,并使用ng-repeat进行迭代,从而填充了页面A。
通过调用html模板并使用从单独的API请求到/team-details
终结点的team_id
值填充特定字段的方式填充页面B ,该值取自页面A上单击的元素。
页面C(与页面B一样)player_id
从页面B上单击的播放器中获取a并/player-details
使用该值调用端点。这是另一个单独的请求。
一切正常,但您可以想象,一个用户一个小时内即可轻松处理超过100个API请求。
我的请求限制为1000 /小时,因此,如果只有10个用户同时在线,则它很容易超过我的限制并关闭我的API。
如果我可以将API作为一个单一的主端点访问该API,该端点将一组所有数据和子数据输出到一个集合中,则可以解决我的问题,但是由于我需要请求单独的端点,因此我看不到如何执行此操作。
有没有更好的方法来解决这个问题?还是这些过多的API请求是唯一的方法?
任何帮助,将不胜感激。
据我所知,您的模型看起来适合该应用程序,并满足了API驱动的应用程序应如何工作...
但是,您可能要采取的一项措施是将某些结果缓存在本地。例如,存储一些不太可能在会话中更改的数据的本地版本。例如,如果团队数量不太可能改变,则将1个API请求的结果存储在本地,并使用该结果而不是从您的API调用数据。
从这条路线继续,您可以选择仅在特定时间段后更新某些数据。因此,如果用户查看了某些内容,team-details
则拒绝在接下来的10-20分钟内更新此数据。但是,这再次取决于您的数据对时间的敏感程度。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句