最小的API
from flask import Flask,request
from flask_restful import Api,Resource
# 创建 Flask 类的对象,指向程序所在的包的名称
app = Flask(__name__)
api = Api(app)
class Helloworld(Resource):
def get(self):
return {'hello':'world'}
api.add_resource(Helloworld,'/')
if __name__=='__main__':
app.run(debug=True)
资源丰富的路由
from flask import Flask, request
from flask_restful import Resource, Api,reqparse
#在使用Flask-RESTful的Resource类简化API开发步骤时,所有的资源都可以通过继承Resource类来构建一个单独的class,并将所有与此资源相关的CRUD操作作为methods添加到对应的class下,使得整个程序结构更加清晰明了。
app = Flask(__name__)# 创建 Flask 类的对象,指向程序所在的包的名称
api = Api(app)
todos = {}
# 在资源路由上(resources)定义多个方法(get,post,put等),就可以实现多种效果
# form表单的key为data的参数
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]}
# 路由这里将多个 URL 传递给Api add_resource()方法, 每个都将路由到我的资源。
api.add_resource(TodoSimple,"/<string:todo_id>","/todo/<string:todo_id>")
if __name__ == '__main__':
app.run(debug=True)
运行如下:
参数解析
from flask import Flask
from flask_restful import reqparse, abort, Api, Resource
app = Flask(__name__) # 创建 Flask 类的对象,指向程序所在的包的名称
api = Api(app)
class Parameteranalysis(Resource):
def post(self):
parser = reqparse.RequestParser()
parser.add_argument('task', type=str)
parser.add_argument('name', type=str)
args = parser.parse_args()
print(args)
return args, 201
api.add_resource(Parameteranalysis,'/get')
if __name__ == '__main__':
app.run(debug=True)
利用postman调用