一、RESTful一个简单接口定义流程
from flask import Flask, request, jsonify, send_file
from flask_restful import Api, Resource
import settings
app = Flask(__name__)
app.config.from.object(settings)
# 步骤一:创建Api对象
api = Api(app=app)
# 步骤二:定义Resource子类
class UserResource(Resource):
def get(self):
user = {
'name':'lisa','age':18}
return jsonify(user)
def post(self):
pass
def put(self):
pass
def delete(self):
pass
# 步骤三:绑定路由
api.add_resource(UserResource,'/user')
if __name__ == '__main__':
app.run()
二、终端调试接口
安装了 requests 库的话,可以从 python shell 中调试接口:
>>> from requests import put, get
>>> put('http://localhost:5000/todo1', data={
'data': 'Remember the milk'}).json()
{
u'todo1': u'Remember the milk'}
>>> get('http://localhost:5000/todo1').json()
{
u'todo1': u'Remember the milk'}
>>> put('http://localhost:5000/todo2', data={
'data': 'Change my brakepads'}).json()
{
u'todo2': u'Change my brakepads'}
>>> get('http://localhost:5000/todo2').json()
{
u'todo2': u'Change my brakepads'}
三、Flask-RESTful 支持视图方法多种类型的返回值。
class Todo1(Resource):
def get(self):
# 默认为200 OK
return {
'task': 'Hello world'}
class Todo2(Resource):
def get(self):
# 将响应代码设置为201
return {
'task'