python
from ripozo.resources import ResourceBase
from ripozo.resty import Resty
from ripozo.viewsets import ViewSet
class UserResource(ResourceBase):
def __init__(self):
super(UserResource, self).__init__()
self._url = '/users/{}/'
self._keys = ['id', 'name', 'email']
self.id = 0
self.name = ''
self.email = ''
class UserViewSet(ViewSet):
resource = UserResource()
def retrieve(self, request, pk):
user = self.resource.model.get(id=pk)
return {'id': user.id, 'name': user.name, 'email': user.email}
def create(self, request):
user = self.resource.model.create(name=request.name, email=request.email)
return {'id': user.id, 'name': user.name, 'email': user.email}
app = Resty(name='MyApp')
app.add_route('/users/<int:pk>/', UserViewSet.as_view())
if __name__ == '__main__':
app.run()