python
from ripozo import RestResource, fields
from ripozo.adapters.flask_adapter import FlaskAdapter
from flask import Flask
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret_key'
adapter = FlaskAdapter(app)
class UserResource(RestResource):
class Meta:
resource_name = 'user'
id = fields.IntegerField(primary_key=True)
name = fields.StringField()
age = fields.IntegerField()
@classmethod
def list(cls, request):
users = [{'id': 1, 'name': 'Alice', 'age': 25},
{'id': 2, 'name': 'Bob', 'age': 30}]
return cls.paging(users, request)
@classmethod
def create(cls, request):
user_data = request.get_all_data()
return cls(user_data).response()
def update(self, request):
self.name = request.get_attr('name') or self.name
self.age = request.get_attr('age') or self.age
return self.response()
def delete(self):
return {}
UserResource.register(adapter)
if __name__ == '__main__':
app.run()