Jersey is the open source JAX-RS (JSR 311) Reference Implementation for building RESTful Web services. Paul announced the availability of 0.2.1. This blog entry describe the steps to get started with Jersey and provide useful pointers for further exploration.
-
Download a stable build from here or the latest binary from here.
jersey-xxx-ea.zipis the binary distribution andjersey-snapshot-xxx-ea.zipis a snapshot of the SVN repository. -
The bundle comes with all the required binaries (JAR dependencies) and a good set of samples for 0.2.1. Here is a consolidated list:
HelloWorld This is how everybody starts! GlassFishDB Demonstrates how to use JPA to expose the contents of a database table as a RESTful resource. JsonFromJaxb Demonstrates how to use JSON representation of JAXB-based resources. EntityProvider Demonstrates pluggable entity providers. Bookmark Demonstrates how to use JPA in the backend. Bookstore Demonstrates how to use ploymorphism with resources and views that are JSP pages. OptimisticConcurrency Demonstrates the application of optimistic concurrency to a web resource. SimpleAtomServer Simple Atom server that partially conforms to the Atom Publishing Format and Protocol SimpleConsole Demonstrates how to use the Lightweight HTTP Server included in Sun’s Java SE 6.0 release. SimpleJAXWSEndpoint Demonstrates how to use a JAX-WS Endpoint. SimpleServlet Demonstrates how to use a Servlet container. StorageService Demonstrates a basic in-memory web storage service Pick a sample, most likely "Hello World", and then follow the instructions in the main "examples" directory to run the sample.
- Here are some other useful pointers:
-
Getting Started – "Hello World" sample explained
-
-
As Alexis pointed, GlassFish is the preferred platform for deploying Jersey endpoints and NetBeans 6 will soon support Jersey.
Paul explained Why the name Jersey ? – Jersey is a restful place to spend a couple of days vacation. The Yellow jersey or Maillot jaune (the project logo) is worn by the overall leader in Le Tour. With modesty I would like this to be the leading open source project for developing RESTful Web services using plain old Java objects.
And then it could also be Java basEd RESTful Services for You as coined by Sridatta
Technorati: jersey jsr311 REST restful glassfish netbeans
Related posts:- TOTD #8: Generating JSON using JAXB annotations in Jersey
- TOTD #56: Simple RESTful Web service using Jersey and Embeddable GlassFish – Text and JSON output
- TOTD #57: Jersey Client API – simple and easy to use
- TOTD #10: Consuming JSON and XML representations generated by a Jersey endpoint in a jMaki Table widget
- SOAP and REST – both equally important to Sun
FYI, here’s the link for browsing the source code and SVN checkout information:
https://jersey.dev.java.net/source/browse/jersey/
Comment by Glen — September 6, 2007 @ 11:35 am
FYI, here’s the link for browsing the source code and SVN checkout information:
https://jersey.dev.java.net/source/browse/jersey/
Comment by Glen — September 6, 2007 @ 11:44 am
Arun, the Hello World sample above is using the Lightweight HTTP Server. I’m not sure how much this server is intended though for serious production use. How can we wrap this sample up into a WAR file for Tomcat or GlassFish? If you know of a link that explains this, great, else this might make a good future TOTD note.
Comment by Glen — September 10, 2007 @ 4:15 pm
Glen, one of the samples listed at http://blogs.sun.com/arungupta/entry/learn_to_rest_using_jersey shows how to deploy a Servlet-based endpoint. Let me know if that does not work and I’ll create a TOTD.
Comment by Arun Gupta — September 10, 2007 @ 5:15 pm
Any suggestions for running Bookmark sample using Netbeans&glassfish V3 ?
Many errors can’t fix.
Comment by Mark Gu — January 7, 2009 @ 1:44 pm
Mark,
Have you tried posting question to users@jersey.dev.java.net ?
Comment by Arun Gupta — January 7, 2009 @ 2:00 pm
@Mark Gu: the bookmark exampleworks fine with GFv2. The example uses JPA, and i have not had a chance yet to look at how this works in GFv3. Is this (JPA/GFv3) what you are interested in? If not, there are some more examples, which you might want to look at to see how to develop RESTful web services in Java using Jersey. These examples run fine on GFv3.
Comment by Jakub Podlesak — January 8, 2009 @ 1:04 am
Hi,
Am facing problem while consuming a REST service. Am not getting proper response. Could you help me with the sample code.
Thanks in advance.
Regards
Srinadh
Comment by srinadh — June 20, 2009 @ 6:55 am
Srinadh, have you tried posting request to users@jersey.dev.java.net ?
-Arun
Comment by Arun Gupta — July 2, 2009 @ 10:20 am
Arun,
At service level i kept annotation as GET but am trying to place POST request from client application. Now its working fine. REST is really wonderfull. It is reducing lot of overhead. Once concern is how to implement security feature.
Srinadh
Comment by Srinadh — July 4, 2009 @ 12:05 am
I think this should be:
@Path("/{paramOne}/{paramTwo}")
def getService(@PathParam(‘paramOne’) String paramOne, @PathParam("paramTwo") Long paramTwo, @QueryParam(‘aquery’) Integer aquery)
But I am getting a NFE as paramTwo is being being extracted with the ‘?’
Can you confirm as I am unable to find any documentation on using the @PathParam & @QueryParam together.
Comment by Duncan — March 9, 2011 @ 5:32 am
Duncan,
I’ve not used the parameters like these. Can you post your question to users@glassfish.java.net ?
-Arun
Comment by Arun Gupta — March 9, 2011 @ 3:09 pm