Python Flask Restful API 基础篇

目前Web应用这块,restufl API用得非常普遍,因为,你手上的前端设备五花八门,各种系统的手机,pad等等,而且网站和手机APP经常会有需要资源共享的时候。

如果网站做个app,手机端再独立一个app,要保持2者同步,估计做开发的要做死了。


所以,RESTFUL API提出了一个概念,就是资源为上,通俗地讲:就是,我有一个资源A,可以作为接口来提供出来,那么,前端设备的B,C,D 都可以通过申请这个API接口的方式,来进行获取资源,而最后显示画面如何渲染,让客户看到是怎么样的一个样子,那是前端的事情了。


学习API之前,有两个前置技能需要去了解下,一个是JSON数据格式,另外一个是curl或者HTTPie这样的http调试工具,我这里用的是HTTPie


最简单的Web API

先来看看通过Python Flask做一个非常简单的Web API接口范例

from flask import Flask,jsonify

app = Flask(__name__)

tasks =[
	{
		'id':1,
		'title': u'Buy groceries',
		'description': u'Milk, Cheese, Pizza, Fruit, Tylenol',
		'done': False
	},
	{
		'id': 2,
		'title': u'Learn Python',
		'description': u'Need to find a good Python tutorial on the web',
		'done': False
	}]

@app.route('/')
def index():
	return 'Hello,world!'

@app.route('/todo/api/v1.0/tasks',methods=['GET'])
def get_tasks():
	return jsonify({'tasks':tasks})

如上面代码,当你请求 /todo/api/v1.0/tasks 的时候,通过路由get_tasks,就能返回当前所有的数据信息

他是通过jsonify来进行返回的,这里需要注意的是,有2种方法可以返回json数据,一个是jsonify,还有一个是json.dumps()

那么2者有什么区别呢?可以看下图

jsonify直接返回的是Content-type:application/json的响应对象(Response对象)

json.dumps返回的,则是Content-type:text/html,charset=utf-8的HTML格式

我们可以看下jsonfiy的官方解释




来看下效果图及两者的区

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值