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)

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

相关推荐
水中加点糖3 分钟前
RagFlow实现多模态搜索(文、图、视频)与(关键字/相似度)搜索原理(二)
python·ai·音视频·knn·ragflow·多模态搜索·相似度搜索
贾宝玉的玉宝贾5 分钟前
FreeSWITCH 简单图形化界面52 - 拨号应用 Answer 介绍
python·django·voip·freeswitch·sip·ippbx·jssip
Hello.Reader5 分钟前
PyFlink JAR、Python 包、requirements、虚拟环境、模型文件,远程集群怎么一次搞定?
java·python·jar
0和1的舞者15 分钟前
Python 中四种核心数据结构的用途和嵌套逻辑
数据结构·python·学习·知识
weixin_4624462316 分钟前
Python 使用 PyQt5 + Pandas 实现 Excel(xlsx)批量合并工具(带图形界面)
python·qt·pandas
Hello.Reader17 分钟前
PyFlink Configuration 一次讲透怎么配、配哪些、怎么“调得快且稳”
运维·服务器·python·flink
云和数据.ChenGuang19 分钟前
Uvicorn 是 **Python 生态中用于运行异步 Web 应用的 ASGI 服务器**
服务器·前端·人工智能·python·机器学习
Hello.Reader20 分钟前
PyFlink Table API / DataStream API / UDF / 依赖管理 / 运行时模式一篇打通(含示例代码与避坑)
python·flink
hui函数24 分钟前
Python系列Bug修复|如何解决 pip install -r requirements.txt 私有仓库认证失败 401 Unauthorized 问题
python·bug·pip
hui函数24 分钟前
Python系列Bug修复|如何解决 pip install -r requirements.txt 子目录可编辑安装缺少 pyproject.toml 问题
python·bug·pip