使用 Flask-RESTful 构建基本 RESTful API
大家好。在这篇文章中,我将讨论如何使用 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
当您尝试未实现的 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 请求:
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 请求。
如果您想了解 PUT 与 POST 的区别,可以查看此链接。我们可以创建一个 DELETE 方法。在本文中,我不会创建 HTTP Delete 方法。您可以通过此链接了解更多关于 Flask-RESTful 的详细信息。
在本文中,我们讨论了如何使用 Flask 构建基本的 RestFul API。希望本文能够帮助您设计出优秀的 RESTful API。
感谢您的阅读。
鏂囩珷鏉ユ簮锛�https://dev.to/aligoren/building-basic-restful-api-with-flask-restful-57oh