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

时间:2019-02-03 18:09:28

标签: node.js express api-design

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

我的有效负载包含(音乐)艺术家及其唱片集,因此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吗?

谢谢

1 个答案:

答案 0 :(得分:2)

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

安装并要求body-parser

const bodyParser = require('body-parser')

在声明端点之前,请添加以下内容:

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


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