RESTEasy is a JBoss / Red Hat project to help us build RESTful Web Services and RESTful Java applications. The below tutorials are built using the RESTEasy framework.
RESTEasy can run in any Servlet container, but tighter integration with WildFly Application Server and Quarkus is also available to make the user experience nicer in those environments.
1. Getting Started
RESTEasy + JBOSS 7 Hello world application
Learn about the most basic configuration needed to build a RESTful web application in JBoss AS7.
RESTEasy + Tomcat Hello world application
Learn about the minimum configuration needed to build a RESTful web application using a Tomcat server.
2. REST Clients
RESTful client using java.net package
Build restful clients for consuming the restful APIs using java.net package
.
RESTEasy client example
Build restful clients for consuming the restful apps using inbuilt JAX-rs capabilities.
Apache HttpClient example
Build restful clients for consuming the restful APIs using the apache HTTP client framework.
Ajax/ JavaScript client Example
Learn to build a resteasy ajax client
JAX-RS 2.0 client API example
JAX-RS 2.0 has brought lots of improvement over the previous version. One of the major improvements is client API which was completely missing in JAX-RS 1.0. Learn to use it in this tutorial.
3. XML/JSON Support
RESTEasy + JAXB xml example
Learn to marshal model objects in XML documents using JAXB and send them to the client as server response
RESTEasy + Jettison JSON example
Learn to marshal model objects in JSON documents using Jettison and send them to the client as server response
RESTEasy + Jackson JSON example
Learn to marshal model objects in JSON documents using Jackson and send them to the client as server response
4. File Download/Upload
RESTEasy + File download example
This example shows the configuration and code needed to download various file formats using RESTful API
RESTEasy + File Upload + HttpClient pure java client example
Upload the file to the server using a pure java client
RESTEasy + File Upload + HTML form example
Upload the file to the server using html form submission
5. Annotations
JAX-RS @Path Regex-based URI matching
Example of API path matching using @Path annotation. Some regular expression examples are also included.
6. Hateoas
RESTful web services HATEOAS example
Learn to make RESTful web services with HATEOAS links enabled
7. Security
Basic authentication and authorization example using PreProcessorInterceptor
Implement security using PreProcessorInterceptor
.
JAX-RS 2.0 RESTEasy 3.0.2.Final security example using ContainerRequestFilter
PreProcessorInterceptor
and PostProcessorInterceptor
are deprecated now. So from now on, use ContainerRequestFilter
and ContainerReponseFilter
. Learn to use them in this tutorial.
REST Security Guide
Knowledge of securing RESTful Web Services is as much important as writing them. It’s very important to write secure APIs to protect the business. But before starting to secure RESTful APIs, let’s understand what our options are as developers. What will be a good fit for our usecase?
8. Validation
Custom html form validation using ajax
Build Ajax powered html form validation functionality for your web page
Hibernate validator provider demo
Integrate hibernate bean validation capability to your RESTEasy APIs
9. Integrations
RESTful web services using Spring 3 MVC
Learn how to write RESTful web services using the Spring 3 framework
10. Best practices
Share context data using ResteasyProviderFactory
ResteasyProviderFacory
can be proved very handy when you want to share some data in various layers of application without passing them as method parameters
Exception handling using a custom exception mapper
Build custom exception mappers to handle application-specific handling of various exceptions
Enable gzip compression content encoding
JAX-RS Resteasy has automatic GZIP decompression support. Learn to use it.
JAX-RS RESTEasy Cache-control with ETag example
ETags or entity tags are useful HTTP headers that can help in building a super-fast application by minimizing the server load on the system. ETag is set to the response to the client so a client can use various control request headers such as If-Match
and If-None-Match
for conditional requests. javax.ws.rs.core.Response.ResponseBuilder#tag(
) and javax.ws.rs.core.EntityTag
are useful classes to work on ETags.
Happy Learning !!
Are this tutorial valid in 2020?
Probably not. I am already in process of updating all tutorials in this blog. Thanks for your patience.
very helpfull bro
good post really helpful
Can you please provide various ways of reading / posting big JSON data with RESTful webservices..
what are you using for posting big JSON data on server side?
which one are you used queryParam or pathparam in serverside.
and you can read bigJSON data by google’ GSON library,
or you can write own parser.
Hi lokesh, i like java programming. java programming is my hobby.
i have stuk in some implementation.
i want to use rest service with hibernate.
i have two or more database.
is it right or best way implement this combination for performance wise?
or which design pattern should i folllow?
please reply
I didn’t get your question properly. What you are trying to achieve by two databases? Will they store same data or different data? What kind of data they will store? What are possible performance bottlenecks do you anticipate?
hi lokesh lets assume i am going to develop a portal,in this portal,i have two or more database, 1st database contain user information and 2 nd database contain user’s data.
lets example. i have a webservice that provide user’s store data on server.
that’s service access by mobile.
one user can have multiple device so user can store data from different different device to server but user is one so i have created two database
one for user information(account management,billing functionality) and 2nd database is used for store user’s data.so if we have 3 user then we will create 4 database 1 database is used for store information of users and 3 database for user’s information.
i will store data form of table in pgsql.
so please tell me should i follow any design pattern?or or ORM tool.
please give me reply as soon as.
thanks
raj
Why are you creating separate databases? Whats problem in having single database with two or more tables? I am not able to understand what you are trying to achieve with multiple databases. If your view layer clients are different, then how it impacts your data stored in database?
Hi lokesh,my intetation is for seprate-2 db for seprate-2 user.then use can take backup via web service of own db.lets assume i have developed one app that able to store own data on server.two user use simultaneous this app,so table name and structure is same.i can manage by userid field existing in table. that time i decided for seprate db.
is it not good?
In my view, you should not create multiple databases. Your app will be executed on server, and mostly they share lots of common data. It is not good idea to duplicate this data into multiple places.
Whenever an app is installed on server, it should create some of it’s own tables which will have unique information around this app only. Some table naming convention can be used e.g. TBL_AppID_MyTable. This way all apps will have some of common tables and some of their unique tables.
Every appuser must have authority/permissions only on common tables and it’s own tables. Other tables it must not even list/count/fetch or whatever.
During backup, you know which all tables you need to backup [common + starting with “TBL_AppID_”].
Thanks lokesh.got it.
Hi Lokesh,
Awesome tutorials bro, sharing knowledge will strength your knowledge,carry on.
Hi guy, i am really appreciate your tutorials. could you create an article about authentication with web-service. my idea is that: if any user want to access url (esp. Resful web services), they must have authentication.
Thank.
This is already on top of list. Probably in this week itself, I will be posting something on authentication.
thank, it will be useful for me :)
That’s a good effort already !! Waiting for more such posts.