Flask 快速构建简单的Restful Web服务器
安装
python3 -m pip install flask
快速运行
from flask import Flask
app = Flask("myFlask")
# 仅允许GET和POST方法调用
@app.route("/", methods = ["GET", "POST"])
def myhandler():
return "Hello World"
# 启动Flask,监听 :9000
app.run("0.0.0.0", 9000)
Flask处理参数
Query参数
from flask import request
@app.route("/", methods = ["GET"])
def handle_query():
return request.query_string
访问 :9000/?id=myid&name=myname
得到响应id=myid&name=myname
Param参数
@app.route("/author/<string:user_id>/posts", methods = ["GET"])
def handle_param(user_id):
return user_id
访问 :9000/author/dormao/posts
得到响应 dormao
通配符URL
@app.route("/assets/<path:mypath", methods = ["GET"])
def handle_wildcard(mypath):
return mypath
访问 :9000/assets/bin/bash
得到响应 bin/bash
Flask Restful
from flask import request
@app.route("/auth", methods = ["POST"])
def handle_wildcard():
print(request.data)
# b'{ "username": "myusername", "password": "mypassword" }'
json = { "code": 200, "token": "123456789" }
# Flask 自动序列化并加上 Header
# 自定义响应码
# return json, 201
# return json, 404
# return json, 401
# 默认 200 OK
return json
发起请求
curl \
-X POST \
-H 'Content-Type: application/json' \
-d '{ "username": "myusername", "password": "mypassword" }' \
http://localhost:9000/auth