使用 Flask 快速构建 RESTful API

阅读时长 6 分钟读完

简介

在现代 Web 开发中,RESTful API 已成为许多应用程序的基石。RESTful API 是一种通过 HTTP 请求实现前后端通信的方式,它是一种灵活的架构风格,能够快速构建可扩展的 Web 服务。本文将介绍如何使用 Flask 快速构建 RESTful API。

准备工作

在开始使用 Flask 构建 RESTful API 之前,需要确保安装了以下软件:

  • Python 3.x
  • Flask
  • Flask-RESTful

可以通过以下命令安装 Flask 和 Flask-RESTful:

创建 RESTful API

首先要创建一个 Flask 应用程序,并初始化一个 Flask-RESTful 资源对象。一个资源对象表示 RESTful API 中的一个资源,它包含多个 HTTP 方法,每个方法对应一个 API 端点。

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

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

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

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

上面的代码创建了一个 Flask 应用程序和一个 HelloWorld 资源。该资源仅包含一个 GET 方法,它返回一个 JSON 对象:{'hello': 'world'}

可以通过运行以下代码启动 Flask 应用程序:

这将启动一个 Web 服务器,并在调试模式下运行您的应用程序。

现在,如果访问 http://localhost:5000/,将看到 {'hello': 'world'} 的 JSON 输出。

使用 HTTP 方法

在 Flask-RESTful 中,可以轻松地声明多个 HTTP 方法,并为每个方法定义不同的 API 端点。下面是一个带有 GET 和 POST 方法的示例:

可以使用 curl 命令发送 HTTP 请求来测试此 API:

GET 请求将返回 {'hello': 'world'} 的 JSON 输出,而 POST 请求将返回 {'message': 'Posted'} 的 JSON 输出。

解析请求数据

许多 RESTful API 需要解析传入的数据。在 Flask-RESTful 中,可以使用 RequestParser 解析传入的数据。RequestParser 是一个辅助类,可帮助解析来自请求的表单数据、JSON 数据和查询字符串参数。

以下示例演示如何使用 RequestParser 解析请求数据:

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

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

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

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

在上面的代码中,name 参数从 HTTP GET 请求的查询字符串中获取,并打印到 JSON 输出中。

可以使用以下 URL 来测试此 API:

将输出 {'hello': 'world'} 的 JSON 对象。

使用数据库

在开发包含大量数据的 RESTful API 时,需要使用数据库来存储和检索数据。在 Flask 中,可以使用 SQLAlchemy 来管理数据库。SQLAlchemy 是 Python 的一个流行 ORM(Object Relational Mapping)库,它可以轻松地将 Python 对象映射到数据库表。

以下示例演示如何使用 SQLAlchemy 将数据存储在 SQLite3 数据库中:

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

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

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

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

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

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

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

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

上面的代码创建了一个名为 Person 的数据库表,并包含一个 id 列和一个 name 列。该表表示一个人,在该表中添加一行数据表示添加一个人。

get 方法查询数据库中所有人,并将他们的名称添加到 JSON 输出中。post 方法接受一个名为 name 的参数,并在数据库中添加一个新的 Person 对象。

现在可以使用以下命令启动 Flask 应用程序并访问http://localhost:5000/:

第一个命令将在数据库中添加一个人,第二个命令将检索数据库中的人,并将其添加到 JSON 输出中。

结论

在本文中,您学习了如何使用 Flask 和 Flask-RESTful 构建 RESTful API。Flask 是一个灵活且易于使用的 Web 框架,它可以轻松地扩展 RESTful API 功能。使用 Flask 和 Flask-RESTful,您可以轻松地构建高性能的 RESTful API,并将其部署到生产环境中。

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

纠错
反馈