demo如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/users/kaka') def update_user(): return jsonify(a=1)
@app.route('/users/kaka/') def upddate_userss(): return jsonify(a=11)
@app.route('/users/kaka/aaaa') def updaate_userss(): return jsonify(a=11)
@app.route('/users/kaka/<int:id>') def updegate_userss(id): return jsonify(a=11)
if __name__ == '__main__': app.run(debug=True, port=3000)
|
flask的每一条url对应着一个Rule实例, 打印其_regex跟rule如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| from werkzeug.routing import Rule
a = Rule() a.compile()
['\\|', '\\/users\\/kaka'] re.compile('^\\|\\/users\\/kaka$') /users/kaka ................. ['\\|', '\\/users\\/kaka'] re.compile('^\\|\\/users\\/kaka(?<!/)(?P<__suffix__>/?)$')
/users/kaka/ ................. ['\\|', '\\/users\\/kaka\\/aaaa'] re.compile('^\\|\\/users\\/kaka\\/aaaa$') /users/kaka/aaaa ................. ['\\|', '\\/users\\/kaka\\/', '(?P<id>\\d+)'] re.compile('^\\|\\/users\\/kaka\\/(?P<id>\\d+)$') /users/kaka/<int:id> .................
|