Version: | 0.2.2 |
---|---|
Status: | Production/Stable |
Author: | José Antonio Perdiguero López |
API Star tools to create CRUD resources.
The resources are classes with a default implementation for methods:
- create: Create a new element for this resource.
- retrieve: Retrieve an element of this resource.
- update: Update (partially or fully) an element of this resource.
- delete: Delete an element of this resource.
- list: List resource collection.
- drop: Drop resource collection.
The routes for these methods are:
Method | Verb | URL |
---|---|---|
create | POST | / |
retrieve | GET | /{element_id}/ |
update | PUT | /{element_id}/ |
delete | DELETE | /{element_id}/ |
list | GET | / |
drop | DELETE | / |
Install API star CRUD:
pip install apistar-crud
Create a model for your resource:
# Example using SQL Alchemy
class PuppyModel(Base):
__tablename__ = "Puppy"
id = Column(Integer, primary_key=True)
name = Column(String)
Create an input type and output_type for your resource:
class PuppyInputType(types.Type):
name = validators.String()
class PuppyOutputType(types.Type):
id = validators.Integer()
name = validators.String()
Now create your resource:
from apistar_crud.sqlalchemy import Resource
class PuppyResource(metaclass=Resource):
model = PuppyModel
input_type = PuppyInputType
output_type = PuppyOutputType
methods = ('create', 'retrieve', 'update', 'delete', 'list', 'drop')
The resource generates his own routes, so you can add it to your main routes list:
from apistar import Include
routes = [
Include('/puppy/', PuppyResource.routes, namespace='puppy'),
]