使

使用 Flask-RESTful 构建基本 RESTful API

2025-06-08

使用 Flask-RESTful 构建基本 RESTful API

Python 徽标

这篇文章最初发表在我的博客上

大家好。在这篇文章中,我将讨论如何使用 Flask 框架构建基本的 RESTful API。开始之前,我们需要安装 Flask RESTful 库。本例中不会使用任何数据库。不过,您可以使用自己的数据库。我只会演示如何使用 Flask 创建 REST API。

使用 Flask 构建基本的 RestFul API

我们可能需要使用Postman或类似的软件来请求。我们将使用 virtualenv 来使用开发环境。好的,让我们安装 flask-restful 库。

virtualenv .

. bin/activate

我们激活了虚拟环境。接下来安装 flask-restful 库。

pip install flask-restful

现在,我们安装了 flask-restful 库。我们需要创建一个名为main.py的文件。它的名称可以是任何名称。首先,我们将导入flask及其flask_restful库。

from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

之后,我们将创建一个简单的类。它将如下所示:

class Quotes(Resource):
    def get(self):
        return {
            'ataturk': {
                'quote': ['Yurtta sulh, cihanda sulh.', 
                    'Egemenlik verilmez, alınır.', 
                    'Hayatta en hakiki mürşit ilimdir.']
            },
            'linus': {
                'quote': ['Talk is cheap. Show me the code.']
            }

        }

在这个例子中,我们使用了静态数据。正如我所说,您可以使用自己的数据库。现在我们需要将此类作为资源添加到 API 库包装器中。

api.add_resource(Quotes, '/')

最后,我们的代码将会是这样的:

# -*- coding: utf-8 -*-

from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class Quotes(Resource):
    def get(self):
        return {
            'ataturk': {
                'quote': ['Yurtta sulh, cihanda sulh.', 
                    'Egemenlik verilmez, alınır.', 
                    'Hayatta en hakiki mürşit ilimdir.']
            },
            'linus': {
                'quote': ['Talk is cheap. Show me the code.']
            }

        }


api.add_resource(Quotes, '/')

if __name__ == '__main__':
    app.run(debug=True)

上面的代码中,我们创建了一个名为 get 的方法,用于 HTTP Get 请求。我们尝试使用 Postman

Postman 获取请求

当您尝试未实现的 HTTP 请求时,您将看到如下警告消息:

{
    "message": "The method is not allowed for the requested URL."
}

POST 方法

例如,您想为此类处理 post 请求。您必须创建一个名为post的方法。让我们创建 post 方法以处理 HTTP Post 请求。首先,我们需要导入 reqparse。因此,我们的导入语句将如下所示:

from flask import Flask
from flask_restful import Resource, Api, reqparse

app = Flask(__name__)
api = Api(app)

parser = reqparse.RequestParser()

之后我们的 post 方法将会像这样:

def post(self):
        parser.add_argument('quote', type=str)
        args = parser.parse_args()

        return {
            'status': True,
            'quote': '{} added. Good'.format(args['quote'])
        }

让我们尝试使用 Postman 发送一个简单的 HTTP Post 请求:

Postman POST 请求

PUT 方法

让我们创建一个 PUT 方法来更新资源。我们的 put 方法将如下所示:

def put(self, id):
        parser.add_argument('quote', type=str)
        args = parser.parse_args()

        return {
            'id': id,
            'status': True,
            'quote': 'The quote numbered {} was updated.'.format(id)
        }

之后,我们需要像这样改变我们的资源:

api.add_resource(Quotes, '/', '/update/<int:id>')

借助 Postman,我们创建了一个 HTTP Put 请求。

Postman PUT 请求

如果您想了解 PUT 与 POST 的区别,可以查看此链接。我们可以创建一个 DELETE 方法。在本文中,我不会创建 HTTP Delete 方法。您可以通过此链接了解更多关于 Flask-RESTful 的详细信息。

在本文中,我们讨论了如何使用 Flask 构建基本的 RestFul API。希望本文能够帮助您设计出优秀的 RESTful API。

感谢您的阅读。

鏂囩珷鏉ユ簮锛�https://dev.to/aligoren/building-basic-restful-api-with-flask-restful-57oh
PREV
React 状态的故事。
NEXT
使用 Kubernetes 中的 Gateway API 进行现代流量管理