###########################################函数调用
from flask import Flask, request, jsonify
app = Flask(name)
假设这是数据库存储的数据
USER_LIST = [{‘id’: 1, ‘name’: ‘zws’, ‘age’: 18}, {‘id’: 2, ‘name’: ‘Tom’, ‘age’: 19}]
@app.route(’/user’, methods=[‘GET’])
def get():
# GET请求获取全部的数据
return jsonify({‘code’: 200, ‘msg’: ‘ok’, ‘data’: USER_LIST})
if name == ‘main’:
app.run(debug=True)
“”"
Django中如果要写Restful API的话,更多的是使用Django Rest Framework,当然不使用也可以,利用json.dumps()和json.loads()也行。
与Django不同的是,Flask原生就对Restful的支持已经做的很好了,JSON目前是Restful API的主流数据传输方式,Flask可以通过jsonify()将python的dict或list转成JSON。
“”"
###########################################类调用
from flask import Flask, jsonify, request
from flask.views import MethodView
app = Flask(name)
USER_LIST = [{‘id’: 1, ‘name’: ‘zws’, ‘age’: 18}, {‘id’: 2, ‘name’: ‘Tom’, ‘age’: 19}]
class UserView(MethodView):
def get(self):
return jsonify({'code': 200, 'msg': 'ok', 'data': USER_LIST})
def post(self):
# get_json()把前端传来的JSON数据转成Python的dict或者list
json_data = request.get_json()
new_id = len(USER_LIST) + 1
USER_LIST.append({'id': new_id, **json_data})
return jsonify({'code': 204, 'msg': 'ok', 'data': USER_LIST[new_id-1]})
注册路由,name参数就是@app.route(’/’, methods=[‘GET], endpoint=’’)中的endpoint
这是视图的名字,看了源码后发现,如果不定义endpoint,默认就是当前视图函数的函数名就是endpoint
app.add_url_rule(’/user’, view_func=UserView.as_view(name=‘user’))
if name == ‘main’:
app.run(debug=True)