GeoServer uses a library known as Restlet for all REST related functionality. Restlet is a lightweight rest framework written in Java that integrates nicely with existing servlet based applications.
In GeoServer, all requests under the path
/rest are considered a call to
a restful service. Every call of this nature is handled by a rest
dispatcher. The job of the dispatcher is to route the request to the
appropriate end point. This end point is known as a restlet.
Restlets are loaded from the spring context, and therefore are pluggable.
A restlet is the generic entity which handles calls routed by the
dispatcher, and corresponds to the class
can extend this class directly to implement a service endpoint. Alternatively
one can extend a subclass for a specialized purpose. Namely a finder, which
is described in the next section.
Finders and resources¶
Restful services are often implemented around the concept of resources. A
finder is a special kind of restlet whose job is to find the correct
resource for a particular request. The resource then serves as the final
end point and handles the request. The appropriate classes from the restlet
A representation, commonly referred to as a format, is the state of a particular state or encoding of a resource. For instance, when a request for a particular resource comes in, a representation of that resource is returned to the client.