You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask框架中资源与端点绑定的两种实现方式解析

在Flask中绑定资源到端点的两种方式

在Flask框架里,把资源(视图逻辑)绑定到特定端点(路由)主要有两种主流方式,我给你详细拆解下:

方式一:使用@app.route装饰器

这是Flask最基础、最常用的绑定方式,适合快速定义简单的视图函数。直接用装饰器给函数指定对应的路由即可,示例代码如下:

from flask import Flask

# 初始化Flask应用实例
app = Flask(__name__)

# 用@app.route装饰器把根路由'/'绑定到hello_world函数
@app.route('/')
def hello_world():
    # 返回响应内容
    return 'Hello, World!'

# 启动应用
if __name__ == '__main__':
    app.run()

这种方式的好处是轻量直观,不需要额外依赖,适合构建简单的Web页面或基础接口。

方式二:基于Flask-RESTful的Resource类绑定

如果要构建RESTful风格的API,这种方式会更优雅。你需要先安装flask-restful库,然后创建继承自Resource的类,在类里定义对应HTTP方法的函数(比如get()、post()),最后通过add_resource()方法把类绑定到端点。示例代码如下:

from flask import Flask
from flask_restful import Api, Resource

# 初始化Flask应用和Api实例
app = Flask(__name__)
api = Api(app)

# 创建继承自Resource的自定义类,定义不同HTTP方法的逻辑
class HelloWorld(Resource):
    def get(self):
        return {'message': 'Hello, World!'}
    
    def post(self):
        return {'message': 'This is a POST request'}

# 用add_resource把HelloWorld类绑定到根路由'/'
api.add_resource(HelloWorld, '/')

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

这种方式的优势在于可以把同一个端点的不同HTTP请求逻辑统一放在一个类里管理,非常适合RESTful API的开发场景。

内容的提问来源于stack exchange,提问作者Mohammed Janati Idrissi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:03:00