📜  如何从 Flask API 返回 JSON 响应?(1)

📅  最后修改于: 2023-12-03 14:51:45.257000             🧑  作者: Mango

如何从 Flask API 返回 JSON 响应?

Flask 是一种灵活的 Python Web 框架,它允许开发人员为 Web 应用程序编写 API 以返回 JSON 格式数据。在本文中,我们将讨论如何从 Flask API 返回 JSON 响应。

创建 Flask 应用

要创建 Flask 应用程序,我们需要按照 Flask 的标准方式导入 Flask 模块并实例化它,如下所示:

from flask import Flask
app = Flask(__name__)

在这个例子中,我们创建了一个名为 app 的 Flask 应用程。接下来我们将讨论如何为 Flask 应用程返回 JSON 响应。

返回 JSON 响应

要从 Flask 应用程序返回 JSON 数据,我们需要使用 Flask 中提供的 jsonify 函数。这个函数将 Python 对象转换为 JSON 格式,并设置正确的 MIME 类型,如下所示:

from flask import Flask, jsonify


app = Flask(__name__)

@app.route('/api/data')
def get_data():
    data = {'name': 'John', 'age': 25}
    return jsonify(data)

在这个例子中,我们创建了一个名为 get_data 的路由,这个路由将返回名为 data 的字典对象的 JSON 格式数据。

在这个函数中,我们使用 Flask 提供的 jsonify 函数将 data 字典对象转换为 JSON 格式,并将其返回作为响应。

响应状态码

为了传达有关请求响应的更多信息,我们可以在 Flask 中设置响应状态码。状态码是从服务器返回客户端的 3 位数字代码。标准状态码为响应的成功或失败提供了有用的信息。下面是一些常用的状态码:

  • 200 OK - 请求成功。常用于 GET 和 POST 请求
  • 201 Created - 已创建成功。常用于 POST 请求
  • 204 No Content - 无内容。常用于 DELETE 请求
  • 400 Bad Request - 客户端发送了一个错误的请求
  • 401 Unauthorized - 身份验证失败或用户未登录
  • 404 Not Found - 请求的资源不存在
  • 500 Internal Server Error - 服务器遇到错误

为了设置响应状态码,我们可以在 jsonify 函数之前添加 status 参数,如下所示:

from flask import Flask, jsonify


app = Flask(__name__)

@app.route('/api/data')
def get_data():
    data = {'name': 'John', 'age': 25}
    return jsonify(data), 200

在这个例子中,我们添加了一个状态码参数,200 表示请求成功。将状态码和 JSON 数据一同返回到客户端。

小结

Flask 为开发者创建 API 提供了良好的支持,并提供了 jsonify 函数来序列化 Python 对象成 JSON 格式。你可以在你的 Flask 应用中使用这种函数来准确地向客户端返回 JSON 响应。

希望本文可以帮助你更好地了解如何使用 Flask 返回 JSON 响应。