node.js - api 与直接查询数据库相比如何

标签 node.js api express backend

我对何时需要 API 感到有点困惑。我最近创建了一个移动应用程序,使用 flutter 和 cloud firestore 作为数据库,我只需在需要时查询并写入数据库即可。现在我正在学习全栈 Web 开发,最近观看了一个教程,其中他为数据库中的一个简单项目构建了一个具有 GET、POST 和 DELETE 功能的 Express API。

来 self 直接访问数据库的背景,我不确定为什么在这种情况下 API 是必要的,这样我就不必每次都重写查询吗?这是一个非常简单的项目,因此他绝对不会制作第 3 方 API 供其他开发人员使用。我是否误解了 API 的确切用途?

这真的很简单,MongoDB 数据库中有一个集合,他使用 postman 读写数据库来检查它是否有效。

最佳答案

API 是前端(网络/移动)存储/获取应用程序信息的标准方式。您的前端可以/不应该直接访问数据库。了解前端的目的只是显示界面并且应该进行最少的处理。所有应用程序逻辑都应该位于您的后端(API 服务器),该后端通过 API(GET、POST 等)调用向您的前端公开。因此,要将项目存储在数据库中,您将在后端编写数据存储逻辑,并公开一个 API 端点,该端点在触发时将执行存储操作。您的前端应该使用该 API 调用来触发存储过程。这样,您的存储/数据库或任何其他事物的逻辑就不会暴露,只有 API URL 会暴露。前端的目的是暴露,而后端/数据库不应该被前端暴露和使用

关于node.js - api 与直接查询数据库相比如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58833714/

相关文章:

javascript - 如何为我的生产环境配置 Redis Store?

express - 有没有办法使用 Express 服务器重定向 NuxtJs 应用程序?

javascript - NodeJS - 使用 ajax 将数组从客户端传递到服务器

javascript - 为什么使用 Webpack 和 Gulp 构建的输出包这么大(>1.9Mb)?

javascript - 使用按钮的 Node JS 服务器请求

api - Google Analytics API - 与 Symfony2 集成

php - 地理定位接口(interface)

php - 如何解决问题 "The VirtualMerchant ID was not supplied in the authorization request"

node.js - npm 没有安装 node-gyp,错误 : ‘class v8::Object’ has no member named ‘ForceSet’

node.js - 类型错误 : express is not a function