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

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

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


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


# -*- coding=utf-8 -*-
import time
from flask import Flask,g,request,make_response,render_template,jsonify
import hashlib
import xml.etree.ElementTree as ET
import urllib2
import json
from flask import abort

app = 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/',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.目前的接口是通过外网访问,所以本地环境的部署,在测试的时候会有报错。需要先部署 然后测试。





你可能感兴趣的:(flask)