Expose RESTful Web Services: Overview
Introduction
Goal
Expose Hippo's content and content management capabilities over RESTful web services.
Background
When integrating with a CMS application such as Hippo, RESTful web services are a sensible choice to access the content stored in its repository and the content management capabilities it provides. Hippo offers several different mechanisms to expose RESTful services, of which this page provides an overview.
Overview of Available Mechanisms
- Content REST API
This is a generic REST API running on top of the delivery tier, automatically exposing all published content in Hippo's content repository based on the document types. - Custom JAX-RS Services
If the generic Content REST API does not meet your requirements, it is possible to create your own custom services using the delivery tier's support for JAX-RS. These services come in two flavors:- Context-aware JAX-RS services are used to dynamically expose site content mapped on content type.
- Plain JAX-RS services are used to expose preconfigured functionality within a site, not directly mapped to content, but can make use of it.
- Repository JAX-RS services
These are used for exposing REST APIs to interact with CMS internal components such as repository-managed daemon modules.
Features
Provided by | Channel Context | Document Context | Access Unpublished Content | Customizable | |
Content REST API | Delivery |
yes
|
yes
|
no
|
no
|
Context-aware services | Delivery |
yes
|
yes
|
yes
|
yes
|
Plain JAX-RS services | Delivery |
yes
|
yes
|
yes
|
yes
|
Repository JAX-RS services | Repository |
no
|
no
|
no
|
yes
|
Hippo's setup application (a.k.a. Essentials) provides a REST Services Setup tool which enables easy setup of the Content REST API and custom plain JAX-RS services.