【问题标题】:Should I include post request in Express for building a public api?我应该在 Express 中包含发布请求以构建公共 api 吗?
【发布时间】:2018-10-29 11:16:25
【问题描述】:

所以,我正在构建一个公共 RESTapi 进行测试,这样我就可以拥有自己的一组数据来获取。我正在使用 Express 和 MongoDB。如果我应该添加发布请求,我很感兴趣,因为这样用户可以更新 API 中的数据。所以我很感兴趣构建此类 API 时的最佳实践是什么?

【问题讨论】:

  • 如果您担心随机用户向您的 POST API 发送垃圾邮件,您可以尝试使用 basic-auth 模块:npmjs.com/package/basic-auth。或者,如果您对使用 3rd 方库持怀疑态度,您可以添加一个秘密标头并基于它进行验证
  • 我决定使用一个秘密标头,然后添加一种管理员身份验证,因此只有我可以添加到 API。

标签: mongodb rest api express


【解决方案1】:

API 有很多内容,因此这取决于您要实现的目标。在你学习的过程中,我建议你从创建一个小项目开始——对我个人而言,这是最好的学习方式。还有很多课程,我会推荐 Andrew Mead 在 Udemy 上的 Nodejs 课程。

所以,开始吧,尝试创建一个简单的 todo api,用户可以在其中添加、更新和删除它。这将需要发送 POST、PATCH 和 DELETE 请求。 (查看邮递员以轻松发送 API 调用)。最后,一个 GET 请求将检索所有待办事项。

我还建议查看 userId、时间戳和 JWT 令牌以授权用户。

查看我的 github(名为 MongoDB 的存储库),我已经完成了一个类似的小教程......

www.github.com/nugoo1

【讨论】:

  • 我明白了,我已经做了一些基本的API并使用了Postman。我只是想知道这个特定的 API,我想在 Heroku 上发布它,然后用作虚拟数据来测试我的前端应用程序。不知道你是否理解我的问题,我只是想知道我是否应该在 API 中包含一个 POST 请求,即将数据添加到集合中,因为这样一些随机用户可能会添加数据,并弄乱数据库。
  • 啊,我明白了...您可以运行一些简单的身份验证来完成此操作。例如,确保 POST 请求标头具有随请求发送的 uniqueAuthId,并且从 API 中,您可以进行一些条件逻辑以仅保存具有 uniqueAuthId 作为标头的数据,如果不发回 401(未经授权)。
猜你喜欢
  • 2020-11-25
  • 1970-01-01
  • 2023-03-13
  • 2014-12-08
  • 2013-10-27
  • 1970-01-01
  • 2017-03-09
  • 1970-01-01
  • 2019-04-22
相关资源
最近更新 更多