gpt4 book ai didi

web-services - Restful API - 处理大量数据

转载 作者:行者123 更新时间:2023-12-03 13:31:30 25 4
gpt4 key购买 nike

我已经编写了自己的 Restful API,并且想知道处理从 API 返回的大量记录的最佳方法。

例如,如果我使用 GET方法 myapi.co.uk/messages/这将带回所有消息记录的 XML,在某些情况下可能是 1000 条。这使得使用 API 非常缓慢。

任何人都可以建议处理这个问题的最佳方法吗?批量返回结果并在请求中指定批量大小是否标准?

最佳答案

您可以更改 API 以包含其他参数以限制应用程序返回的数据范围。

例如,您可以添加 limitoffset参数只获取一小部分。这就是按照 REST 进行分页的方式。像这样的请求将导致从消息集合中获取 10 个资源,从 21 日到 30 日。通过这种方式,您可以请求庞大数据集的特定部分:

myapi.co.uk/messages?limit=10&offset=20 

减少有效负载的另一种方法是仅请求资源表示的某些部分。以下是 Facebook 的做法:
/joe.smith/friends?fields=id,name,picture

请记住,在使用这些方法中的任何一种时,您必须为客户端提供一种发现每个资源的方法。您不能假设他们只会查看参数并开始更改它们以搜索数据。这将违反 REST 范式。为他们提供必要的超链接以避免它。

我强烈建议查看 this presentation on RESTful API design来自 apigee (截屏视频称为“教一只狗休息”)。那里讨论了解决日常问题的良好做法和巧妙想法。

编辑:自从我发布此答案以来,该视频已更新多次,您可以查看 3rd edition from January 2013

关于web-services - Restful API - 处理大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11725078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com