Flask入门:轻松掌握API路由定义

你是不是总觉得Flask路由定义复杂难记?事实上,超过80%的Python Web开发者首次接触Flask时都在路由配置上栽过跟头!
本文将从零开始讲解Flask路由的核心知识,重点演示常见API路由的定义方法,包括:

  • 基础路由配置

  • 动态URL参数处理

  • HTTP方法限定技巧

  • 完整可运行代码示例

✨ Flask路由是什么?

路由就像是Web应用的交通指挥系统,它决定了当用户访问某个URL时,应该执行哪段代码来响应请求。

🚀 基础路由定义

最简单的路由就是一个URL对应一个函数:

复制代码
@app.route('/')
def home():
    return '欢迎来到首页!'

🎯 动态路由参数

想要处理像/user/123这样的URL?使用动态参数

复制代码
@app.route('/user/<username>')
def show_user(username):
    return f'用户:{username}'

🔧 常见API路由类型

  • GET请求:获取数据

    @app.route('/api/users', methods=['GET'])
    def get_users():
    return {'users': ['张三', '李四']}

  • POST请求:创建数据

    @app.route('/api/users', methods=['POST'])
    def create_user():
    # 处理创建用户逻辑
    return {'status': '用户创建成功'}

  • 参数类型限定

    @app.route('/post/int:post_id')
    def show_post(post_id):
    return f'文章ID:{post_id}'

💡 完整代码示例

下面是一个完整的Flask应用示例:

复制代码
from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def index():
    return '首页'

@app.route('/user/<username>')
def user_profile(username):
    return f'用户主页:{username}'

@app.route('/api/data', methods=['GET', 'POST'])
def handle_data():
    if request.method == 'POST':
        return {'method': 'POST', 'status': 'created'}
    return {'method': 'GET', 'data': 'some data'}

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

喜欢本文?点赞👍收藏⭐,关注我,一起学习更多有用的知识,完善你的技能树!

相关推荐
于是我说8 小时前
一份Python 面试常见问题清单 覆盖从初级到高级
开发语言·python·面试
BoBoZz198 小时前
RotationAroundLine 模型的旋转
python·vtk·图形渲染·图形处理
Kurbaneli8 小时前
Python金融数据分析革命:Mootdx让通达信数据获取变得如此简单
python
吧啦蹦吧8 小时前
`org.springframework.util.ClassUtils#forName
开发语言·python
倔强的小石头_8 小时前
Python 从入门到实战(十):Pandas 数据处理(高效搞定表格数据的 “瑞士军刀”)
人工智能·python·pandas
Together_CZ8 小时前
DarkIR: Robust Low-Light Image Restoration——鲁棒的低光照图像复原
python·image·robust·darkir·鲁棒的低光照图像复原·low-light·restoration
拾贰_C9 小时前
【python | pytorch | scipy】scipy scikit-learn库相互依赖?
pytorch·python·scipy
BoBoZz199 小时前
PolyDataContourToImageData 3D集合图像转换成等效3D二值图像
python·vtk·图形渲染·图形处理
2401_841495649 小时前
【自然语言处理】关系性形容词的特征
人工智能·python·自然语言处理·自动识别·特征验证·关系性形容词·语言学规则和计算
rebekk9 小时前
Hydra介绍
人工智能·python