当前位置: 首页 > java >正文

Flask 核心概念速览:路由、请求、响应与蓝图

一、路由参数与请求方法

Flask 路由允许定义多种参数类型,并通过 methods 属性限制请求方法。

1. 路由参数类型:
除了默认的 string,Flask 还支持:

  • int: 匹配整数,自动转换为 Python int 类型。非数字输入会返回 404。

  • float: 匹配浮点数,自动转换为 Python float 类型。

  • path: 匹配包含斜杠 / 的路径(斜杠不被视为参数分隔符),但会将其转换为字符串。

    • 区别于默认 string: string 类型会把 / 视为路径分隔符,导致参数截断。

  • uuid: 匹配符合 UUID 格式的字符串,并自动转换为 UUID 对象。严格校验格式。

  • any: 限制参数值只能是预定义元组中的一个(如 any(c,d,e)),类似于枚举。

    • 总结: Flask 的路由参数类型支持精准匹配和自动类型转换,优于 Django 默认将所有 URL 参数视为字符串。

2. 请求方法(HTTP动词):

  • 默认情况下,Flask 路由支持 GET 和 HEAD 请求。

  • 限制方法: 使用 methods 属性(列表)来指定允许的 HTTP 方法,例如 methods=['GET', 'POST']

  • HTTP 状态码: 不允许的方法请求会返回 405 Method Not Allowed 错误。

  • 常见 HTTP 方法及其语义:

    • GET: 获取资源(检索)。

    • POST: 提交/创建资源(提交数据,如表单提交)。

    • PUT: 创建或更新资源(整体替换)。

    • DELETE: 删除资源。

    • HEAD: 获取资源的元数据(如响应头),不返回响应体。

  • RESTful API 实践: 通过不同 HTTP 方法操作同一资源路径,实现高内聚,例如 /user 路径,GET 获取用户,PO

http://www.xdnf.cn/news/12393.html

相关文章:

  • 吃透 Golang 基础:使用 encoding/json 实现 Golang 数据结构与 JSON 对象的转换
  • [论文阅读] 人工智能 | 大语言模型计划生成的新范式:基于过程挖掘的技能学习
  • FART 脱壳某大厂 App + CodeItem 修复 dex + 反编译还原源码
  • Halcon透视矩阵
  • 基于深度强化学习的Scrapy-Redis分布式爬虫动态调度策略研究
  • RNN和CNN使用场景区别
  • Windows平台RTSP/RTMP播放器C#接入详解
  • 11-Oracle 23ai Vector Embbeding和ONNX
  • 正则持续学习呀
  • Kerberos面试内容整理-开源 Kerberos 实现(MIT Kerberos、Heimdal 等)
  • STM32 控制12VRGB灯带颜色亮度调节,TFTLCD显示
  • 全面理解 Linux 内核性能问题:分类、实战与调优策略
  • 【vLLM 学习】Cpu Offload Lmcache
  • 硅基计划2.0 学习总结 陆 抽象类与接口
  • 电磁加热和铁锅温升的讨论
  • Tesseract配置参数详解及适用场景(PyTesseract进行OCR)
  • 【Survival Analysis】【机器学习】【3】 SHAP可解釋 AI
  • 6.6 计算机网络面试题
  • scikit-learn机器学习
  • 固态继电器与驱动隔离器:电力系统的守护者
  • Nuxt.js 布局系统详解:构建可复用页面框架
  • 豆包和deepseek 元宝 百度ai区别是什么
  • 3B模型大概占多少存储
  • My图床项目
  • [蓝桥杯]采油
  • 使用VTK还是OpenGL集成到qt程序里哪个好?
  • P1345 [USACO5.4] 奶牛的电信Telecowmunication
  • Levenberg-Marquardt算法详解和C++代码示例
  • 安卓基础(ProGuard vs R8)
  • NodeJS Koa 后端用户会话管理,JWT, Session,长短Token,本文一次性讲明白