Monday, 9 March 2015

Creating Web Services and a Rest Server with JAX-RS and Jetty

Creating a WebService in Java is remarkably easy. To add it to a ServletContainer and deploy it to an embedded WebServer is only a few more lines of code. 

Let's create a simple calculator with a couple of functions as an example of a WebService. The calculator will compute the squareRoot and square of any number.  It will return a simple JSON response with the name of the action, the input and the output.

Before we start this is the Gradle configuration you will need:

This is the code for the Calculator:

The annotations determine the type of REST action to be applied to the method @GET, @PUT etc. The @Path annotation determines the URI of the request and the @Produces annotation determines how the response will be returned.  In our case we choose JSON, the conversion of which is all handled seamlessly.

In order to deploy our WebService we need a ServletContainer for which we will use Jersey and a WebServer into which we can drop the container for which we will use Jetty.

This is the code for the RestServer:

Once you have run the RestServer you will be able to test it with this URL.


A really nice way to run queries from IntelliJ is to use the inbuilt REST Client which can be found under the tools menu.

When you run the REST Client you will get this Response:

It's a really easy way to test a RESTful server.


  1. Good article, but should it be JAX-RS instead of JAX-RX?
    Im just comment, because I ended up here looking for a rest server api with Observables, and because your title mentions JAX-RX, google brought me to your article.

    1. I know it's been a bit of a delay :) but you are correct.

  2. thank you for your help,
    i can connect to licalhost:8080/... and recieve the JSOn data but
    when i try to connect to that link with websocket a gave an error: "Didn't switch protocols, expected status <101>, but got <200>"

    can u please help me to solve this. it is about 1 week that i couldn't solve that

  3. How can I implement SSL for this server. Actually I am trying to implement REST Service server over HTTPS.

  4. Apple is already working on iOS 12 beta build for iPhone and iPad users. Developers around the world are soon going to test the latest iOS update, but general public is still wondering when iOS 12 release is going to happen for them!

  5. The RAID cluster comprises of in excess of one hard drives installed as a solitary unit for high limit and speed than the single hard drive with an outer reinforcement. Check Out FixingBlog

  6. In regards to your brand, think of your website as the face of your podcast. This is what listeners will see on a daily basis that relates to your podcast here

  7. It is the database planners employment to guarantee that the database structure and information lexicon are improved to help the information stockpiling recovery and execution objectives of the undertaking.

  8. Online Pharmacy Pills is one of the trusted Online Pharmacy from where you can purchase your medicines at a cheaper price.In our daily life we have to tackle with various types of pain.Also it is always not possible to visit a doctor and consult it with them as we human being are so much busy with our life that we often get time to take care of our health.Pain sometimes becomes so unbearable that we are bound to take painkillers.Pain gives a very unpleasant feeling to our body.Although various types of painkillers are available in the market but among of those Soma pills are the best.Soma pills gives you immediate relief from any type of pain and also it have very mild side effect.
    [url=]Soma 350mg online[/url]

  9. Bad idea indeed! These software programs are exceedingly complex. They work in complex steps and write to the disk which can result in an overwrite of the original data. Select one wrong option and you can bid goodbye to your data! data recovery centre

  10. While there are countless dialects, huge numbers of them have a great deal of similitudes; this implies once you learn one dialect great, as a rule you will probably get another one far faster.

  11. The circle platters are finicky about what comes into contact with them and will respond antagonistically to residue, fingerprints and some other flotsam and jetsam. data recovery centre

  12. Savaliya Oil Maker Machine for Home Usage. This Product is Easy to Use and it produces health oil for your family. There are also some other products of savaliya industry, like coconut oil maker machine, peanut oil maker machine, sesame oil maker machine.

  13. Thanks for an interesting blog. What else may I get that sort of info written in such a perfect approach? I have an undertaking that I am just now operating on, and I have been on the lookout for such info. audio transcription services uk