restful:
一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制
1.安装pip install flask-restful
2.快速开始
from flask import Flask
from flask_restful import Resource, Api
app = Flask(__name__):
api = Api(app)
class HelloWorld(Resource):
def get(self):
return {'hello': 'word'} :注意不能有空格,否则有错误,flask中空格不能乱打
api.add_resource(HelloWorld, '/')
if __name__ == '__main__':
app.run('127.0.0.1', 5000, debug=True) #要加字符符号,一定要加
curl http://127.0.0.1:5000/ {"hello": "world"}
curl http://localhost:5000/todo1 -d "data=Remember the milk" -X PUT #-d指的是,后面跟数据 -X发起请求 PUT模式
curl http://localhost:5000/todo1 OR curl http://localhost:5000/todo1 -X GET #默认的情况
from flask import Flask, request
from flask_restful import Resource, Api
app = Flask(__name__)
api = Api(app)
todos = {}
class TodoSimple(Resource):
def get(self, todo_id):
return {todo_id: todos[todo_id]}
def put(self, todo_id):
todos[todo_id] = request.form['data']
return {todo_id: todos[todo_id]}
api.add_resource(TodoSimple, '/<string:todo_id>')
if __name__ == '__main__':
app.run(debug=True)
$ curl http://localhost:5000/todo1 -d "data=Remember the milk" -X PUT
{"todo1": "Remember the milk"}
$ curl http://localhost:5000/todo1
{"todo1": "Remember the milk"}
$ curl http://localhost:5000/todo2 -d "data=Change my brakepads" -X PUT
{"todo2": "Change my brakepads"}
$ curl http://localhost:5000/todo2
{"todo2": "Change my brakepads"}
>>> 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'}