gpt4 book ai didi

javascript - 从 REST API 构建和订购一对多关系客户端

转载 作者:行者123 更新时间:2023-11-29 16:03:12 25 4
gpt4 key购买 nike

我在思考如何从 REST API 中提取一对多关系,然后在客户端使用 Javascript 将其全部显示在页面上时遇到了一些麻烦。

举个例子,假设我有postscategories。我希望我的主页显示一个类别列表,下面是每个帖子的标题和描述

Category 1
- Post 1
- Post 2
- Post 3
Category 2
- Post 4
- Post 5

我正在尝试弄清楚如何构造我的 API,然后组织数据。最好的方法是构造 API 以便我们点击:

/categories/ID/posts

要获取每个类别的帖子列表?或者可能只是将类别过滤器添加到帖子端点本身,如:

/posts?category=ID

然后在客户端,我会向 /categories/ 发出请求以获取类别列表,并对每个类别发出一个请求以获取每个类别的帖子列表。

或者在 /posts/(甚至是我在某些地方见过的 /all/)有一个已经组织数据的端点会更好吗按类别将它们分组在一起。我知道这不是 RESTful,但这是最好的方法吗?在客户端,我将遍历列表并相应地分组。

我认为第一个选项是可行的方法,我唯一担心的是这会变成很多请求。如果有十几个类别或更多,我将不得不为每个类别单独提出请求,加上最初的类别,至少 13 个。这似乎很浪费。优点是,一旦我以这种方式获得所有数据,将其分解并组织到客户端的 subview 中就很简单了。所以我想知道是否有另一种我没有看到的最佳实践方法来处理这个问题。

最佳答案

每种方法都有利有弊。

第一种方法:为每个类别发出请求

这些请求很多,但是可以用来一一调用和显示类别:让我们假设一个类别及其帖子列表的可视化占据了整个用户屏幕:您可以首先请求第一个类别并显示它(这样用户就可以看到一些东西而不必处理所有数据),然后您为第二个调用 API,依此类推。

如果您不传递大量数据,则第二种方法更好,因为您只发出 1 个请求。

回顾一下:
每个类别一个请求:

  • 很多请求
  • 轻量级请求
  • 无需等待所有数据即可显示第一类

一个完整的请求:

  • 只有一个请求
  • 服务器处理的请求可能很重
  • 客户端一起显示所有类别

哪个更好,很大程度上取决于具体情况

关于javascript - 从 REST API 构建和订购一对多关系客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37463160/

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