约定前后端接口交互的一般形式。
使用HTTPAuth的方式,具体方法是:
1.在请求头增加 Authorization字段 headers = {'Authorization': Base64编码认证字符串} Base64编码认证字符串 = 'Basic ' + b64encode(username:password)2.服务端认证用户密码后,以json方式返回token字符串。 进行请求时,将token替换用户名,密码为空(“:”还是要的)。 Base64编码认证字符串 = 'Basic ’ + b64encode(token字符串:)
3.token如果过期失效,服务器返回401,需要再次用用户和密码获取新的token。
接口返回的数据是json形式的,结构如下:
{'status': true/false, 'msg': 一些错误提示文本, 'data': 数据, 'meta': 关于本次处理的其他信息} status: 本次处理的结果状态 true/false; msg: 本次处理的提示信息; data: 本次返回的数据,可能没有,也可能是其他形式的数据 meta:必要的其他信息对应的json格式:
{'columns': [{'label': '年', 'prop': 'year'}, {'label': '变量1', 'prop': 'x1'}, {'label': '变量2', 'prop': 'x2'}], 'data': [{'year': '2016年', 'x1': 1, 'x2': 'a'}, {'year': '2016年', 'x1': 2, 'x2': 'b'}, {'year': '2017年', 'x1': 3, 'x2': 'c'}] }按年份拆分成多个(2个)表格返回
{'2016年': {'columns': [{'label': 'x1', 'prop': 'x1'}, {'label': 'x2', 'prop': 'x2'}], 'data': [{'x1': 1, 'x2': 'a'}, {'x1': 2, 'x2': 'b'}]}, '2017年': {'columns': [{'label': 'x1', 'prop': 'x1'}, {'label': 'x2', 'prop': 'x2'}], 'data': [{'x1': 3, 'x2': 'c'}]}}