Getting Started with Dropwizard - Dropwizard Tutorial


Dropwizard is an open source Java framework for the rapid development of RESTful web services. Dropwizard straddles the line between being a library and a framework. Its goal is to provide performant, reliable implementations of everything a production-ready web application needs.

In essence, it is a glue framework which bundles together popular and battle-tested Java libraries and frameworks to make it easier to start building new RESTful web services.

If you are not using Dropwizard, you will end up collecting all dependencies yourself and it often results in class loading issues due to the version mismatch between various java libraries


Let’s learn How to use Dropwizard to build RESTful web service APIs – step by step

Default Dropwizard Libraries

Jetty for HTTP:

Because you can’t be a web application without HTTP, Dropwizard uses the Jetty HTTP library to embed an incredibly tuned HTTP server directly into your project.

Instead of handing your application off to a complicated application server, Dropwizard projects have a main method which spins up an HTTP server.

Running your application as a simple process eliminates a number of unsavory aspects of Java in production 

1. no PermGen issues, 2. no application server configuration and maintenance, 3. no arcane deployment tools, 4. no class loader troubles, 5. no hidden application logs, 6. no trying to tune a single garbage collector to work with multiple application workloads

and allows you to use all of the existing Unix process management tools instead.

As of now, dropwizard recommends only running the application with Jetty, no other web server like Tomcat is not officially supported.


Jersey for REST