安装
接口路由
1) 根路由
1 from flask import Flask
2
3 # 创建flask应用实例
4 app = Flask(__name__)
5
6 @app.route("/")
7 def index_page():
8 return "index page"
9
10 if __name__ == "__main__":
11 app.run()
2) 定义接口路由传参类型
- 定义了一个路由"/index/<int:id>",捕获URL中
/index/ 后面的int类型,并将其作为一个变量 (id) 传递给视图函数,最后在页面上显示出来。
1 from flask import Flask
2
3 app = Flask(__name__)
4
5 @app.route("/index/<int:id>")
6 def find_id(id):
7 return f'id是:{id}'
8
9 if __name__ == "__main__":
10 app.run()
- 定义了一个路由"/path/<path:subpath>",捕获URL中
/path/ 后面的任意子路径,并将其作为一个变量 (subpath) 传递给视图函数,最后在页面上显示出来;
path:是一种转换器类型, 它可以匹配包含斜杠 (/) 的任意字符串;
escape() 函数:用于对HTML进行转义,subpath 是来自用户输入的URL。如果用户输入的是恶意脚本,被浏览器执行,会造成跨站脚本(XSS)攻击;
from flask import Flask
app = Flask(__name__)
@app.route('/path/<path:subpath>')
def show_subpath(subpath):
# show the subpath after /path/
return f'Subpath {escape(subpath)}'
if __name__ == "__main__":
app.run()
3)接口路由重定向
from flask import Flask
app = Flask(__name__)
# /about/:有尾部斜杠,Flask 会重定向不带斜杠的请求
@app.route('/about/')
def about_page():
return "<p>About</p>"
# /about:没有尾部斜杠,Flask 会拒绝带斜杠的请求
@app.route('/about')
def page():
return "<p>About</p>"
if __name__ == "__main__":
app.run()
4)传入请求方法
from flask import Flask
app = Flask(__name__)
@app.route("/hello",methods=["GET"])
def hello_world():
return "<p>Hello, World!</p>"
@app.route("/index/<username>",methods=["POST"])
def input_username(username):
return f'username是:{escape(username)}'
@app.route("/put",methods=["PUT"])
def put():
return 'this is put methods'
@app.route("/delete",methods=["DELETE"])
def delete():
return 'this is delete methods'
@app.route("/able",methods=["GET","POST"])
def able():
if request.method == "GET":
return "<p>GET</p>"
else:
return "<p>POST</p>"
if __name__ == "__main__":
app.run()