API 具有更多请求的开发详细端点

API Development detailed endpoints with more requests

我正在使用带有节点的 express 来非常轻松地创建端点。 我有一个名为 /users/:uid/upload 的端点,带有 POST 请求。 我希望它能够处理大量数据,但是使用大约 3.5MB 的 JSON 发送请求会导致 412 错误(有效负载太大)。

My Payload 包含一组(音乐)艺术家及其专辑,因此 artist/:artistid/albums/:albumid

所以我想到了替代方案:

  1. 备选方案:具有更多请求的详细端点

所以我会创建以下端点:

POST /artists/:artistid/data
POST /artists/:artistid/albums/:albumid/

这会使大负载变得更小,但我会 number_of_artists * number_of_albums_per_artist 请求彼此相对接近

  1. 备选方案:将 JSON 作为文件上传

我需要将我的数据保存到一个文件中,然后上传它,然后解析该文件并将其存储在某个地方。我不想使用此选项,因为文件需要经常更新。

有没有我遗漏的替代方案,如果有很多要求,您会推荐替代方案 1 吗?

谢谢

对于您目前的情况,您可以增加大小限制。

安装并要求 body-parser:

const bodyParser = require('body-parser')

在声明端点之前添加:

app.use(bodyParser.json({ limit: '10mb'}))


虽然我建议对详细端点进行多重请求,因为如果一个失败,您可以只重试那个特定的端点。整个操作不会那样失败。因此,如果您有时间对此进行投资,最好的方法是使用多个端点。