JAX-RS Tutorial

jax-rs tutorials

Java API for RESTful Web Services (JAX-RS), is a set if APIs to developer REST service. JAX-RS is part of the Java EE6, and make developers to develop REST web application easily.

In this series of JAX-RS tutorials, we use both Jersey and RESTEasy, popular JAX-RS implementation.

Happy learning JAX-RS :)

Quick Start

Some quick start examples to use JAX-RS.

Basic Examples

Basic annotations and functions to develop REST service.

File Upload Examples

How to handle multipart data in JAX-RS.

Working with XML

XML support in JAX-RS.

Working with JSON

JSON support in JAX-RS.

RESTful Java clients

Create a RESTful Java client to perform “GET” and “POST” request to manipulate json data.

JAX-RS + Spring

Integrate JAX-RS with Spring framework.

Common Error Messages

Some common error messages in JAX-RS development.

References

  1. Jersey official website
  2. Jersey user guide
  3. RESTEasy official website
  4. RESTEasy user guide
  5. REST explanation in Wiki

About the Author

author image
mkyong
Founder of Mkyong.com, love Java and open source stuff. Follow him on Twitter, or befriend him on Facebook or Google Plus. If you like my tutorials, consider make a donation to these charities.

Comments

avatar
43 Comment threads
15 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
47 Comment authors
RAHUL KARANJAVKJARGauravvahdetSamrat RoyMostafa Anbarmoo Recent comment authors
newest oldest most voted
RAHUL KARANJAVKJAR
Guest
RAHUL KARANJAVKJAR

Thanks Mkyong..

Samrat Roy
Guest
Samrat Roy

Hi Mkyong,
Thanks for your wonderful tutorials but i want to know about REST Filter using ContainerRequestFilter(jersey 1.9).
I have tried and googled it but didn’t able to find anything related to Jersey 1.9 , every1 is saying about jersey 2.X.
Please can you provide this in your JAX RS tutorials or any other user knows about it please comment below.

vahdet
Guest
vahdet

Right, especially combining with Spring..
the closest thing is here: https://stackoverflow.com/questions/29430984/spring-jersey-filter-provider
But it also has Spring v2 involved and also has no solution

Karni Mohammed Fazil
Guest
Karni Mohammed Fazil

Where can I get the REST certification study material?

RAHUL KARANJAVKJAR
Guest
RAHUL KARANJAVKJAR

Hi Mkyong,
From long days i am trying to find good material for webservice development and finally i found on http://www.mkyong.com.
Thank you very much for your efforts.

Thanks
Rahul K

Gaurav
Guest
Gaurav

Thank you for your wonderful help..

Mostafa Anbarmoo
Guest
Mostafa Anbarmoo

Dear Mkyong
thanks for all your useful tutorials.
i’m java Developer from Tehran, Iran.
it my pleasure to appreciate to your tutorial and it is really useful.
Keep doing.
Best Regards

janbo
Guest
janbo

Typo: “set if APIs” should be “set of APIs”

ali ammar
Guest
ali ammar

Thanks :) You Are Awesome

Gourav Soni
Guest
Gourav Soni

I need help with using Java project dependency to other project :

I have a Project A and Project B .. Project B is calling Project A methods. While running on tomcat 8 . It does not return anything from Project A methods. I have added Project A to Java build path and deployment assembly of Project B .

I am using Maven , Tomcat 8 , Eclipse Mars.

Nikhil Vora
Guest
Nikhil Vora

Is jar of ProjectA in webapps lib of ProjectB in Tomcat?

Gourav
Guest
Gourav

i did it using maven’s parent module feature .. thanks for replying :)

Amber
Guest
Amber

Very helpful site! In particular I’ve been looking at your JAX-RS tutorials. I was wondering if you have an example of the appropriate way to use the @Produces annotation with an array. For example, depending on one of the QueryParams I’d like to return either xml or pdf.

Amber
Guest
Amber

I realized I should be using the Accept header to determine which format is returned rather than a QueryParam.

Gourav Soni
Guest
Gourav Soni

you can use @Produces(MediaType.APPLICATION_OCTET_STREAM) and in return add header — header(“Content-Disposition”, “attachment; filename=” + “fileName.csv”)

Sachin
Guest
Sachin

s/w versions used: TOMCAT 8, postgres 9.4, netbeans 8
@POST
@Override
@Consumes({“application/xml”, “application/json”})
public void create(Cdr entity)
{
super.create(entity);
}
public void create(T entity)
{
getEntityManager().persist(entity);
}

Prasad
Guest
Prasad

When we deploy a RESTful service prior to Servlet 3.0 container, we will configure the Servlet class in web.xml (<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>) to delegate the HTTP requests to the respective RESTful resource. But, in case of Servlet 3.0 container (web.xml is optional), how the request will be delegated to a RESTful resource. In this case we didn’t configure a Servlet class in web.xml.

If there are multiple JAX-RS implementation related JARs are added to the application library, then how the container will identify which implementation related Servlet class will handle this request?

Any suggestions are appreciated.

Adam
Guest
Adam

Wonderful tutorial, extremely helpful. Thank you very much.

MindBackUp Developer
Guest
MindBackUp Developer

How can I convert SOAP web service to REST web service(JSON) format ?

Gourav Soni
Guest
Gourav Soni

You can use jersey library for this

Kurniawan
Guest
Kurniawan

if use jersey, what can keep use tomcat web server ?

Narayana
Guest
Narayana

Have 2 questions, 1. How to perform authentication and authorization for rest services..? 2. How to maintain user sessions with REST ..? Please suggest what can be done to achieve this in REST

Gourav Soni
Guest
Gourav Soni

you can use filters in web.xml for authentication purpose . use of session is not preferred with REST you can use tokens.

marlonlom
Guest
marlonlom

I have a quiestion… ¿is posible integtrate resteasy with stateless EJB’s, using @EJB Annotation?

qwangwei
Guest
qwangwei

if I can use hibernate in Resteasy, I want to use hibernate in my project

neha agrawal
Guest
neha agrawal

Hi MkYong,
Thanks for your tutorials!! They are really informative. I couldn’t find any tutorial on Exception/error handling in REST as well as SOAP web service. It would be nice if you can share some example on this subject.

Cheers,
Neha

Aditya
Guest
Aditya

can you give the source code for Ejb + Jpa + Jsf + restful webservices.
I want to Insert data into Deployement Server Database using Restful Client

Aprajita
Guest
Aprajita

Thanks for your tutorials.
I have been following you for a very long time. It is always been very helpful and informative.

vijayakumar
Guest
vijayakumar

hi, i am a beginner i want to know the difference between web service and web application.. can u explain me in detail..

Gnanasekaran Ebinezar
Guest
Gnanasekaran Ebinezar

Thanks a lot for your valable service to the IT Community.Whenever i want to learn any new things, i used to visit your site..Thanks a lot..

sandip kandari
Guest
sandip kandari

How I can deploy Restfull web service on Apache tomcat server.
on web browser url if I write http://localhost:8080//index.jsp it display hello word.
but after writing http://localhost:8080/Energymeter/resources/generic1. it is giving servlet adapter exception

please tell me i can recover from this problem

Nirmal
Guest
Nirmal
Amit Kumar
Guest
Amit Kumar

These examples are simple,tells you how RESTful Web Service work on basics.

Kwesi Aryee
Guest
Kwesi Aryee

An invaluable resource, very easy to understand.My first step into jax-rs has been really because of this tutorials

rafeeq
Guest
rafeeq

Can you please provide an example where a xml payload is sent through REST POST method preferably using spring resttemplate

Ravi
Guest
Ravi

Hi Thanks for the above example , Could you please share the code for Displaying the JSON into JSP Page

K E Naresh
Guest
K E Naresh

Please explain about the flow of execution jax-rs jersey application