Chapter 43. Creating Resources
Abstract
In RESTful Web services all requests are handled by resources. The JAX-RS APIs implement resources as a Java class. A resource class is a Java class that is annotated with one, or more, JAX-RS annotations. The core of a RESTful Web service implemented using JAX-RS is a root resource class. The root resource class is the entry point to the resource tree exposed by a service. It may handle all requests itself, or it may provide access to sub-resources that handle requests.
43.1. Introduction
Overview
RESTful Web services implemented using JAX-RS APIs provide responses as representations of a resource implemented by Java classes. A resource class is a class that uses JAX-RS annotations to implement a resource. For most RESTful Web services, there is a collection of resources that need to be accessed. The resource class' annotations provide information such as the URI of the resources and which HTTP verb each operation handles.
Types of resources
The JAX-RS APIs allow you to create two basic types of resources:
- A Section 43.3, “Root resource classes” is the entry point to a service's resource tree. It is decorated with the
@Path
annotation to define the base URI for the resources in the service. - Section 43.5, “Working with sub-resources” are accessed through the root resource. They are implemented by methods that are decorated with the
@Path
annotation. A sub-resource's@Path
annotation defines a URI relative to the base URI of a root resource.
Example
Example 43.1, “Simple resource class” shows a simple resource class.
Example 43.1. Simple resource class
Two items make the class defined in Example 43.1, “Simple resource class” a resource class: