使用 FastAPI 和 MongoDB 搭建 RESTful API 服务

阅读时长 7 分钟读完

RESTful API 已经成为现代 Web 应用程序开发中的不可或缺部分,通过 RESTful API 服务,客户端可以请求和接收服务器端的资源和数据。本文将介绍如何使用 FastAPI 和 MongoDB 搭建 RESTful API 服务,其中 FastAPI 是一个高性能的 Python Web 框架,MongoDB 是一种文档型数据库。

服务目录结构

首先,我们需要建立我们的服务目录结构,我们可以使用下面的命令行来创建并进入我们的服务目录:

然后,我们需要使用下面的命令行来创建我们的 Python 虚拟环境:

接着,我们激活虚拟环境并安装必要的依赖:

最后,我们可以使用下面的命令行来创建我们的服务目录结构:

目录结构如下:

数据库连接

接下来,我们需要连接到 MongoDB 数据库。我们可以在 main.py 中编写以下代码:

MongoDB 连接字符串中的 fastapi_mongodb_restful_api 是我们的数据库名称,我们需要将其替换为实际的数据库名称。现在,我们已经与 MongoDB 数据库建立了连接,接下来,我们可以编写我们的模型以及路由器。

模型

我们需要创建一个模型类,用于定义 MongoDB 数据库中的集合。我们可以在 models.py 文件中编写以下代码:

上述代码中,我们使用了 Pydantic 来编写我们的模型类,Pydantic 是一个用于数据验证和序列化的高性能 Python 库。我们定义了一个名为 Task 的类,并指定其包含的属性。在 MongoDB 数据库中,我们需要使用 "_id" 作为任务 ID。

路由器

现在,我们需要创建我们的路由器。路由器类中定义的每个路由处理程序都将负责处理客户端请求。 我们可以在 routers.py 文件中编写以下代码:

-- -------------------- ---- -------
---- ------- ------ ---------- ----- -------- -------------
---- ---------------- ------ ----------------
---- ------ ------ ----
---- -------- ------ --

------ - --------------------------

-----------------
----- --- ----------------- ------
    --------- - -----------
    ------ - ----- ------------------------------
    ---------------- - -----------------------
    ------ ---------

----------------
----- --- -------------
    ----- - ----- ------------------------------------
    ------ -----

-------------------------
----- --- ------------------ -----
    ---- - ----- ------------------------- ---------
    -- ---- -- -----
        ----- ------------------------------ ------------ --- -------
    ------ ----

-------------------------
----- --- -------------------- ---- ----- ------
    --------- - -----------
    -------------------- -----
    ------ - ----- ---------------------------- --------- ----------
    -- --------------------- -- --
        ----- ------------------------------ ------------ --- -------
    ------ ---------

----------------------------
----- --- -------------------- -----
    ------ - ----- --------------------------- ---------
    -- -------------------- -- --
        ----- ------------------------------ ------------ --- -------
    ------ ------ --------

上述代码中,我们使用了 FastAPI 来编写我们的路由器类。我们将所有路由器的路径添加到/tasks 前缀中。create_task 方法将向 MongoDB 数据库中的 tasks 集合创建新任务。read_tasks 方法将返回 tasks 集合中的所有任务。read_task 方法将返回指定 ID 的任务。 update_task 方法将更新指定 ID 的任务。delete_task 方法将删除指定 ID 的任务。

运行

现在,我们已经定义了模型和路由器,接下来,我们需要启动我们的应用程序。我们可以使用以下命令行来运行我们的应用程序:

这将启动我们的应用程序并监听端口为 8000。

测试

最后,我们需要测试我们的 RESTful API 服务。我们可以使用 Postman 或 Curl 来测试我们的服务。

-- -------------------- ---- -------
-- -----
---- -- ---- -
  --------------------------- -
  -- -------------- ----------------- -
  -- --
    -------- ----- ---
    -------------- ----- - ------------
--

-- ------
---- ---------------------------

-- ------
---- -------------------------------------

-- ------
---- -- --- -
  ------------------------------------- -
  -- --
    -------- ----- ---
    -------------- ----- - ------------
--

-- ------
---- -- ------ -
  -------------------------------------

结论

通过本文,我们已经学习了如何使用 FastAPI 和 MongoDB 搭建 RESTful API 服务。我们学习了如何定义模型和路由器,并实现了创建,读取,更新和删除操作。相信此时你已经有了更深入的关于 RESTful API 的理解,也学习了如何使用 Python 和 MongoDB 开发 Web 应用程序服务。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66efabaf6fbf9601973070ba

纠错
反馈