Flask-RESTful之视图
restful 视图 Flask
2023-09-11 14:15:14 时间
1 为路由起名
通过endpoint参数为路由起名
api.add_resource(HelloWorldResource, '/', endpoint='HelloWorld')
2 蓝图中使用
from flask import Flask, Blueprint
from flask_restful import Api, Resource
app = Flask(__name__)
user_bp = Blueprint('user', __name__)
user_api = Api(user_bp)
class UserProfileResource(Resource):
def get(self):
return {'msg': 'get user profile'}
user_api.add_resource(UserProfileResource, '/users/profile')
app.register_blueprint(user_bp)
app.run()
3 装饰器
使用method_decorators
添加装饰器
- 为类视图中的所有方法添加装饰器
def decorator1(func):
def wrapper(*args, **kwargs):
print('decorator1')
return func(*args, **kwargs)
return wrapper
def decorator2(func):
def wrapper(*args, **kwargs):
print('decorator2')
return func(*args, **kwargs)
return wrapper
class DemoResource(Resource):
method_decorators = [decorator1, decorator2]
def get(self):
return {'msg': 'get view'}
def post(self):
return {'msg': 'post view'}
- 为类视图中不同的方法添加不同的装饰器
class DemoResource(Resource):
method_decorators = {
'get': [decorator1, decorator2],
'post': [decorator1]
}
# 使用了decorator1 decorator2两个装饰器
def get(self):
return {'msg': 'get view'}
# 使用了decorator1 装饰器
def post(self):
return {'msg': 'post view'}
# 未使用装饰器
def put(self):
return {'msg': 'put view'}
示例代码:
from flask import Flask, Blueprint
from flask_restful import Api, Resource
app = Flask(__name__)
user_bp = Blueprint('user', __name__)
user_api = Api(user_bp)
def decorator1(func):
def wrapper(*args, **kwargs):
print('decorator1')
return func(*args, **kwargs)
return wrapper
def decorator2(func):
def wrapper(*args, **kwargs):
print('decorator2')
return func(*args, **kwargs)
return wrapper
class DemoResource(Resource):
method_decorators = {
'get': [decorator1, decorator2],
'post': [decorator1]
}
# 使用了decorator1 decorator2两个装饰器
def get(self):
return {'msg': 'get view'}
# 使用了decorator1 装饰器
def post(self):
return {'msg': 'post view'}
# 未使用装饰器
def put(self):
return {'msg': 'put view'}
user_api.add_resource(DemoResource, '/')
app.register_blueprint(user_bp)
app.run()
运行效果:
相关文章
- 基于gin web框架搭建RESTful API服务
- RESTful服务最佳实践(转)
- rest framework-restful介绍-长期维护
- flask框架-使用flask-restful接口开发
- 30分钟用 Restful ABAP Programming(RAP)模型开发一个支持增删改查的 Fiori 应用
- 如何通过Restful API的方式读取SAP Commerce Cloud的Product图片
- RESTFul中的那些事(1)---在RESTFul中,HTTP Put和Patch操作的差别?
- Oracle APEX 4.2公布RESTful Webservice
- 采用CXF+spring+restful创建一个web接口项目
- 【项目实战】RESTful API入门介绍
- restful风格快速入门