定义Restful的视图:
如果使用Flask-Restful,则定义视图函数的时候,要继承自flask-restful.Resource类,然后再根据当前请求的method来定义相应的方法。
比如期望客户端是使用get方法发送过来的请求,那么就定义一个get方法。类似于MethodView。示例代码如下:
案例1:
from flask_restful import Api, Resource app = Flask(__name__) api = Api(app) class Login(Resource): def get(self): return {"username": "wqbin"} api.add_resource(Login, '/login/', endpoint='login_func') with app.test_request_context(): print(url_for('login_func'))
案例2:
class Login_in(Resource): def post(self,username): return {"username": '123'} api.add_resource(Login_in, '/login_in/<username>/',endpoint="login_in_func") # with app.test_request_context(): print(url_for('login_in_func',username='wqbin'))
注意事项:
1.endpoint 是用来给url_for反转url的时候指定的。如果不写endpoint,那么将会使用视图的名字的小写来作为endpoint。
2.add_resource的第二个参数是访问这个视图函数的ur1,这个ur1可以跟之前的route一样,可以传递参数。并且还有一点不同的是,这个方法可以传递多个ur1来指定这个视图函数。
参数解析:
F1ask-Restful插件提供了类似wTForas来验证提交的数据是否合法的包,叫做reqparse。以下是基本用法: