下面是“Python中Flask-RESTful编写API接口(小白入门)”的完整攻略。
说明
本攻略介绍了使用 Flask-RESTful 在 Python 中编写 API 接口的方法,是一个小白入门级别的教程。本攻略主要包括以下内容:
- 简介
- 环境配置
- 建立 Flask 应用
- 编写 API 接口
- 示例说明
简介
Flask 是 Python 的一个轻量级 Web 框架,它采用的是 BSD 授权许可证。Flask-RESTful 是 Flask 框架的一个扩展,提供了方便的 RESTful 风格的 API 接口开发。
环境配置
在开始使用 Flask-RESTful 开发之前,需要先安装 Flask 和 Flask-RESTful。
安装 Flask:
$ pip install Flask
安装 Flask-RESTful:
$ pip install flask-restful
建立 Flask 应用
要使用 Flask-RESTful,首先需要创建一个 Flask 应用实例。在创建应用实例时,需要导入 Flask 和 Api 模块。
from flask import Flask
from flask_restful import Api
app = Flask(__name__)
api = Api(app)
接着可以添加路由和视图函数。例如:
@app.route("/")
def index():
return "Hello, World!"
if __name__ == "__main__":
app.run()
此时,在浏览器中访问 http://localhost:5000 就可以看到返回的 "Hello, World!"。
编写 API 接口
要编写 API 接口,需要使用到 Flask-RESTful 中的 Resource 类。Resource 类相当于一个视图函数,可以响应 HTTP 请求。
下面是一个简单的 API 接口示例:
from flask_restful import Resource
class HelloWorld(Resource):
def get(self):
return {"message": "Hello, World!"}
这个类定义了一个名为 HelloWorld 的 API 接口,使用 GET 方法请求时,会返回一个 JSON 对象,包含一个键为 message,值为 "Hello, World!" 的条目。
为了让 API 接口能够被 Flask 应用使用,需要在 Api 实例中添加这个接口:
api.add_resource(HelloWorld, "/")
此时,在浏览器中访问 http://localhost:5000 就可以看到返回的 JSON 对象:
{"message": "Hello, World!"}
示例说明
假设我们正在开发一个博客应用,并需要开发一个获取博客列表的 API 接口。我们可以定义一个 Blogs 类来处理请求:
from flask_restful import Resource
class Blogs(Resource):
def get(self):
# 从数据库中获取博客列表
blogs = Blog.query.all()
# 转换为 JSON 字符串并返回
return jsonify([blog.to_dict() for blog in blogs])
def post(self):
# 处理 POST 请求,创建一个新的博客
data = request.get_json()
blog = Blog(title=data['title'], content=data['content'])
db.session.add(blog)
db.session.commit()
# 返回新博客的 ID
return {"id": blog.id}
这个类定义了一个可以响应 GET 和 POST 方法的 API 接口。GET 方法返回了博客列表的 JSON 对象,POST 方法用来创建新博客,并返回新博客的 ID。
为了让 API 接口能够被 Flask 应用使用,需要在 Api 实例中添加这个接口:
api.add_resource(Blogs, "/blogs")
在浏览器中访问 http://localhost:5000/blogs 可以看到返回的 JSON 对象。如果使用 POST 请求,需要发送一个 JSON 格式的数据,例如:
{
"title": "My Blog",
"content": "This is my first blog post."
}
发送成功后会返回一个包含新博客 ID 的 JSON 对象。
以上是“Python中Flask-RESTful编写API接口(小白入门)”的完整攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中Flask-RESTful编写API接口(小白入门) - Python技术站