rest接口是业界比较常用的接口,rest接口间怎么交互数据也是一个比较常见的问题,在做项目的时候写了个rest服务,可以模拟往指定的url地址上推送数据,并返回结果。
# -*- coding:utf-8 -*-
from flask import Flask, jsonify, request, abort
app = Flask(__name__)
tasks = []
@app.route('/api/v1.0/student_datas/<string:id>', method = ['POST', 'PUT'])
def post_task(id):
if not request.json:
abort(400)
if len(tasks) > 10000:
tasks[:]= []
task = {
'id':id,
'name': request.json.get("name", ""),
'age': request.json.get("age", ""),
'scores_list': request.json.get('scroes_list', "")
}
tasks.append(task)
return jsonify({'task_count':len(tasks), 'tasks':tasks})
@app.route('/api/v1.0/student_datas', methods = ['GET'])
def get_task():
return jsonify({'task_count':len(tasks), 'tasks':tasks})
#get special task and return the watched data
@app.route('/api/v1.0/student_datas/<id>', methods=['GET'])
def get_task_by_id(id):
task = filter(lambda t: t['id'] == id, tasks)
if len(task) == 0:
abort(404)
return jsonify({'task':task})
@app.route('/api/v1.0/student_datas, method = ['DELETE'])
def delete_task():
tasks[:] = []
return jsonify({'task_count': len(tasks), 'tasks':tasks})
if __name__ == '__main__':
app.run(host='127.0.0.1', debug=True)