【发布时间】:2021-08-08 00:35:22
【问题描述】:
请注意,这个问题故意含糊不清。 假设,我有一个返回书籍分页数据的 API。每页 100 个书籍对象 [此数据出现在标题中,如“总页数”。响应正文采用 JSON 对象列表的格式。
[
{},
{},
.
.
.
]
假设 book 对象具有所有必要的数据,例如标题、描述、销售数量等。如何返回畅销的 n 本书[畅销 => 最高销量]? 您不能提供任何参数,例如
GET endpoint/orderby=popularity&order=desc
到此端点,您无法进行任何数据库查询优化。我们如何用纯代码解决这个问题? 如有任何想法或建议,我将不胜感激。
【问题讨论】:
-
因此,您的问题与其余端点无关,因为必须在收到数据后 进行排序。因此,请提供带有示例数据的 sn-p 以及您尝试过的内容。注意:这听起来像是一个重复的问题。关于如何对对象数组进行排序有很多问答。
-
我的想法是将所有内容存储在最大堆中并返回前 100 个。@trincot
-
是的,可以。你试过了吗?
-
目前,它可以工作,但我希望有人可以分享一个更有效的解决方案。
-
"RESTful" 没有告诉我们 API 中有哪些可用选项。
标签: mysql algorithm api rest endpoint