gpt4 book ai didi

python - 使用 Flask 创建 RESTful API?

转载 作者:太空狗 更新时间:2023-10-29 17:00:43 25 4
gpt4 key购买 nike

Flask 教程网站 here说要创建一个 RESTful API,您将编写扩展 restful.Resource 的类,然后通过以下方式将它们添加到 API:

app = Flask(__name__)
api = restful.Api(app)
class HelloWorld(restful.Resource):
def get(self):
return {'hello': 'world'}

api.add_resource(HelloWorld, '/')

但是,我看过很多教程,它们都只使用带有 @app.route('/path') 装饰器的函数,我更习惯在 Flask 应用程序中看到.例如,here ,他们有:

@app.route('/todo/api/v1.0/tasks', methods=['GET'])
def get_tasks():
return jsonify({'tasks': tasks})

here :

@app.route('/')
def api_root():
return 'Welcome'

使用 restful.Resource 类和只使用装饰函数有什么区别?如果没有差异,按照惯例我应该做什么来创建 RESTful API?

最佳答案

简答:

restful.Resource 来自 Flask-Restful扩展名,它不是 Flask 本身。 Miguel's tutorial使用 Flask编写一个 Restful 界面。

长答案:

首先,除了 Flask,还有许多 Flask extensions .尽管它们协同工作,但它们是独立的包,并且由各个作者编写。 Flask-Restful 是对 Flask 的扩展。

Miguel 的教程解释了如何使用 Flask 本身制作一个 restful api。

Flask-Restful为了避免我们中的一些人重新发明轮子, promise 将自定义类(或自定义 Python 数据结构)转变为 Restful Web 服务。 Flask-RESTXFlask-Restful 的一个分支,使用 swagger UI 自动生成 api 文档。

此外,Flask还documented使用 MethodView 允许开发人员编写自己的 restful API。同时,Flask-Restless promise 将 SqlAlchemy 类转变为 Restful Web 服务。

更新(18/07/2016),flask-api将功能/ View 转换为 Restful 界面,由 django restful framework 的作者 Tom Christie 设计.

更新(17/03/2021),Flask-RESTPlus做一些与上述库类似的事情,但它还可以帮助您构建 swagger API 文档,这是一个额外的好处。

通往罗马的道路有很多

关于python - 使用 Flask 创建 RESTful API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28032278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com