python之restful api(flask)获取数据

栏目: 编程工具 · 发布时间: 6年前

内容简介:需要用到谷歌浏览器的扩展程序 Advanced Rest Client进行模拟请求1.直接上代码代码解释:

需要用到谷歌浏览器的扩展程序 Advanced Rest Client进行模拟请求

1.直接上代码

 1 from flask import Flask
 2 from flask import request
 3 from flask import abort
 4 from flask import jsonify
 5 import re
 6 
 7 app = Flask(__name__)
 8 
 9 @app.route('/')
10 def index():
11     return 'hello world'
12 
13 
14 @app.route('/message/<message_id>',methods=['GET'])
15 def get_message(message_id):
16     if message_id == 'all':
17         search = 'all'
18     else:
19         if re.match(r'^\d+$',message_id):
20             search = int(message_id)
21         else:
22             abort(400)
23 
24     messages = [{'id':1,'site':'baidu'},{'id':2,'site':'taobao'}]
25     res = {}
26     
27     if search == 'all':
28         res['result'] = messages
29         res['status'] = 'success'
30     else:
31         for item in messages:
32             if item['id'] == search:
33                 res['result'] = [item]
34                 res['status'] = 'success'
35                 break
36         if 'result' not in res:
37             res['status'] = 'error'
38             res['content'] = 'id is not in range'
39     if request.headers['Content-Type'] == 'application/json':
40         return jsonify(res),{'Content-Type':'application/json'}
41     elif request.headers['Content-Type'] == 'text/xml':
42         return '<?xml version="1.0"?><site></site>',{'Content-Type':'text/xml'}
43     else:
44         return str(res)
45     
46 
47 if __name__ == '__main__':
48     app.run(port=5100)

代码解释:

restful api请求路由:/message/<message_id>,message_id为 all 或者 整型数字

数据源:messages = [{'id':1,'site':'baidu'},{'id':2,'site':'taobao'}]

代码中的abort:触发400错误即报Bad RequestThe browser (or proxy) sent a request that this server could not understand. ,当message_id不是all 也不是整型数字时

注意一点:Advanced Rest Client 测试请求时不要在Headers指定Accept(因为它可以接受多种类型),而应该指定Content-Type

返回值没有用到状态码,而是通过判断返回值中的status是success还是error

2.直接上测试结果图

python之restful api(flask)获取数据

python之restful api(flask)获取数据

python之restful api(flask)获取数据

python之restful api(flask)获取数据

python之restful api(flask)获取数据

python之restful api(flask)获取数据

python之restful api(flask)获取数据

python之restful api(flask)获取数据

注:有不懂的可以私信博主本人


以上所述就是小编给大家介绍的《python之restful api(flask)获取数据》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

最愚蠢的一代

最愚蠢的一代

马克·鲍尔莱因 / 杨蕾 / 天津社会科学院出版社 / 2011-7 / 39.80元

《最愚蠢的一代》 美国大学教授的鲍尔莱恩认为,数码时代正在使美国的年轻一代成为知识最贫乏的一代人。 美国的青少年和年轻人正在被数码时代各种娱乐消遣性的工具所淹没。这些工具包括手机、社交网络和信息传送等等。他们通过这些工具传达的却是幼稚浮浅的东西,而且这些东西正在妨碍他们同历史、公民义务、国际事务和美术等成年人的现实世界进行重要的接触。 我们想当然地以为,这些善于吸收新技术的美国年......一起来看看 《最愚蠢的一代》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具