Flask-RESTful 是一个 Flask 扩展,它添加了快速构建 REST API 的支持。
pip install flask-restful
# user_flask_restful_get_base_test.py
from flask import Flask,jsonify
from flask_restful import Api,Resource
app=Flask(__name__)
api=Api(app)
class IndexView(Resource):
def get(self):
return {"status":0,"code":200,"msg":"ok","data":{"userID":1001,"name":"wuya",
"age":18}}
# 把IndexView类的方法 映射到试图上 把类名传进行 第二个参数是路由地址
api.add_resource(IndexView,'/index/')
if __name__ == '__main__':
app.run(debug=True)
# 运行
# python user_flask_restful_get_base_test.py
# #get调用
# import requests,json
# data = { 'username':'hejipei'}
# url = 'http://127.0.0.1:5000/info/'
# r = requests.get(url)
# print(r.json())
# user_flask_restful_post_test.py
from flask import *
from flask_restful import Api,Resource,reqparse
app=Flask(__name__)
api=Api(app)
class infoView(Resource):
def post(self):
parser = reqparse.RequestParser()#对reqparse模块下的RequestParser类进行实例化
parser.add_argument('username', type=str)#add_argument方法添加接收参数
args = parser.parse_args() #解析参数
return args
api.add_resource(infoView,'/info/')
if __name__ == '__main__':
app.run(debug=True)
# 执行
# python user_flask_restful_post_test.py
# 含有 reqparse的post调用
# import requests,json
# data = { 'username':'你真是个小天才'}
# url = 'http://127.0.0.1:5000/info/'
# r = requests.post(url,data=data)
# print(r.json())
pip install gunicorn
参考:使用案例
from flask import *
from flask_restful import Api,Resource,reqparse
from gevent import monkey
from gevent.pywsgi import WSGIServer
monkey.patch_all()
app=Flask(__name__)
api=Api(app)
class infoView(Resource):
def post(self):
parser = reqparse.RequestParser()
parser.add_argument('username', type=str)
args = parser.parse_args()
return args
api.add_resource(infoView,'/info/')
if __name__ == '__main__':
http_server = WSGIServer(('10.45.7.11', int(5001)), app)
http_server.serve_forever()
# 部署方案
# gunicorn -k gevent -b 10.45.7.11:5001 flask_restful_test:app