This example demonstrates injection of various runtime information into Jersey/JAX-RS resources.
A simple application consists of two simple resources: One is a typical
JAX-RS @Path
annotated resource. The second resource is created
programmatically using the new Jeresy 2 programmatic resource binding API.
Both resources inject the same information and produce the report that
is returned in the response back to the client.
The JAX-RS @Path
annotated web resource is implemented by the
org.glassfish.jersey.examples.jaxrstypeinjection.JaxrsInjectionReportingResource
class.
The programmatic resource is implemented by the
org.glassfish.jersey.examples.jaxrstypeinjection.JaxrsInjectionReportingInflector
class.
The mapping of the URI path space is presented in the following table:
URI path | Resource class | HTTP methods |
---|---|---|
/annotated/instance/{p1}/{p2}?q1=<int_value>&q2=<string_value>&q2=<string_value> |
JaxrsInjectionReportingResource | GET |
/annotated/method/{p1}/{p2}?q1=<int_value>&q2=<string_value>&q2=<string_value> |
JaxrsInjectionReportingResource | GET |
/programmatic/{p1}/{p2}?q1=<int_value>&q2=<string_value>&q2=<string_value> |
JaxrsInjectionReportingInflector | GET |
Please note that the value of the q1
URI query parameter is expected
Run the example as follows:
mvn clean compile exec:java
This deploys the JAX-RS Types Injection Example using Grizzly
A WADL description may be accessed at the URL:
http://localhost:8080/jaxrs-type-injection/application.wadl
The resources could be accessed via
http://localhost:8080/jaxrs-type-injection/annotated/instance/p1/p2?q1=123&q2=abc&q2=def
http://localhost:8080/jaxrs-type-injection/annotated/method/p1/p2?q1=123&q2=abc&q2=def
http://localhost:8080/jaxrs-type-injection/programmatic/p1/p2?q1=123&q2=abc&q2=def