flask 如何使用接口以及通过json传递数据

来源:互联网 发布:网络遥控器怎么用法 编辑:程序博客网 时间:2024/06/11 15:50

之前不知道接口是什么,最近通过一段时间的学习。以下为接口的入门理解。

1:首先接口是什么: 简单的来说,接口以及API可以理解为flask框架下的url路由。外部网站通过这个url去访问这个接口,然后接口再进行操作。


2.以下为使用接口的简单案例


# -*- coding=utf-8 -*-import timefrom flask import Flask,g,request,make_response,render_template,jsonifyimport hashlibimport xml.etree.ElementTree as ETimport urllib2import jsonfrom flask import abortapp = Flask(__name__)app.debug=True@app.route('/',methods=['GET','POST'])def wechat_auth():    r = urllib2.urlopen('http://1.625124155.applinzi.com/aix/2')    c = r.read()    b = json.loads(c)    d= b["task"]    if d != None:        #return str(d['title'])        return d['title']    else:        return '空的'tasks = [    {        'id': 1,        'title': u'Buy groceries',        'description': u'Milk, Cheese, Pizza, Fruit, Tylenol',         'done': False    },    {        'id': 2,        'title':'丁',        'description': u'Need to find a good Python tutorial on the web',         'done': False    }]@app.route('/aix/<int:task_id>',methods=['GET'])def aix(task_id):    task = filter(lambda t: t['id'] == task_id, tasks)    if len(task) == 0:        abort(404)    return jsonify({'task': task[0]})if __name__ == '__main__':    app.run()



以上既是访问接口以及接口通过json返回数据的简单范例

最后注意以下问题:

1.上图中的路由,写在了一个网站中,这里只是简单示范。任何网站通过url都可以接入这个接口。(关于接口的安全接入问题,本文不予讨论)

2.上图中的json传输需要注意:本文中传输的是一个字典里面的字典。所以在获取json传输值的时候,才要先找到b['task']  参考本文的时候需要注意这一点

3.目前的接口是通过外网访问,所以本地环境的部署,在测试的时候会有报错。需要先部署 然后测试。





0 0