Interfaces¶
guillotina
uses interfaces to abstract and define various things including
content. Interfaces are useful when defining API contracts, using inheritance,
defining schema/behaviors and being able to define which content your services
are used for.
In the services example, you'll notice the use of context=IContainer
for the service
decorator configuration. In that case, it is used to tell guillotina
that the
service is only defined for a container object.
Common interfaces¶
Interfaces you will be interested in defining services for are:
guillotina.interface.IDatabase
: A database contains the container objectsguillotina.interface.IContainer
: Container content objectguillotina.interface.IResource
: Base interface for all contentguillotina.interface.IContainer
: Base interface for content that can contain other contentguillotina.interface.IRegistry
: Registry object interfaceguillotina.interface.IDefaultLayer
: Layers are an interface applied to the request object. IDefaultLayer is the base default layer applied to the request object.