Python Flask 自定义转换器验证参数

复制代码
import typing as t

from flask import Flask
from werkzeug.routing import BaseConverter

app = Flask(__name__)


class RegexConverter(BaseConverter):
    def __init__(self, url_map, items):
        super(RegexConverter, self).__init__(url_map)
        self.regex = items

    def to_python(self, value: str) -> t.Any:
        print("to python called")
        return value


app.url_map.converters['re'] = RegexConverter


@app.route('/<re("1234"):value>', methods=['GET', "POST"])
def index(value):
    return f'<h1>hello{value} world</h1>'


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

如果访问

符合的正则才有数据,否则就没有数据

比如定义手机号正则就可以

复制代码
@app.route('/<re("1\d{10}"):value>', methods=['GET', "POST"])
def index(value):
    return f'<h1>hello{value} world</h1>'

不符合规则就不行

相关推荐
重整旗鼓~18 分钟前
7.索引库操作
java·开发语言
Jay Kay37 分钟前
深入解析协程:高并发编程的轻量级解决方案
开发语言·c++·算法
大然Ryan38 分钟前
MCP实战:从零开始写基于 Python 的 MCP 服务(附源码)
python·llm·mcp
lifallen1 小时前
Java BitSet类解析:高效位向量实现
java·开发语言·后端·算法
学不好python的小猫1 小时前
7-4 身份证号处理
开发语言·python·算法
teeeeeeemo1 小时前
JS数据类型检测方法总结
开发语言·前端·javascript·笔记
MAOX7892 小时前
基于python的web系统界面登录
前端·python
一只帆記2 小时前
Java 实现后端调用 Chromium 浏览器无头模式截图的方案
java·开发语言
知月玄2 小时前
网页后端开发(基础2--maven单元测试)
java·开发语言
一颗红心丶2 小时前
Windows系统上离线部署Python运行飞桨(PaddlePaddle) OCR服务
windows·python·paddlepaddle