ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
**动态路由** 通过把 URL 的一部分标记为`<variable_name>`就可以在 URL 中添加变量。标记的 部分会作为关键字参数传递给函数。通过使用`<converter:variable_name>`,可以 选择性的加上一个转换器,为变量指定规则。 1. 为 `app/api_1_0/controller` 下的 `index.py` 控制器绑定路由 ``` #!/usr/bin/env python3 # -*- encoding: utf-8 -*- from app.api_1_0 import bp @bp.route('/name/<obj_name>') def hello(obj_name): return 'hello '+ obj_name + '\n' ``` 测试 ``` root@airvip:~/python_app/flask-demo# curl 127.0.0.1:5000/api/v1.0/name/flask hello flask ``` 2. 添加限定只匹配正整数的转换器 ``` #!/usr/bin/env python3 # -*- encoding: utf-8 -*- from app.api_1_0 import bp @bp.route('/nameid/<int:id>') def hello1(id): return 'hello %d \n' %id ``` 测试 ``` root@airvip:~/python_app/flask-demo# curl 127.0.0.1:5000/api/v1.0/nameid/666 hello 666 ``` 如果传了非数字类型的数据,比如:字符串,将会得到 404 Not Found **其他转换器** | 类型 | 含义 | | --- | --- | | string | (缺省值) 接受任何不包含斜杠的文本 | | int | 接受正整数 | | float | 接受正浮点数 | | path | 类似`string`,但可以包含斜杠 | | uuid | 接受 UUID 字符串 |