REST Assured

Build Status Maven Central Javadoc

Testing and validating REST services in Java is harder than in dynamic languages such as Ruby and Groovy. REST Assured brings the simplicity of using these languages into the Java domain. For example, if your HTTP server returns the following JSON at “http://localhost:8080/lotto/{id}”:


You can easily use REST Assured to validate interesting things from the response:

@Test public void
lotto_resource_returns_200_with_expected_id_and_winners() {

            get("/lotto/{id}", 5).
            body("lotto.lottoId", equalTo(5),
                 "", hasItems(23, 54));


Looks easy enough? Why not give it a spin? See getting started and usage guide.

Fork me on GitHub



  • 2021-05-21: REST Assured 4.4.0 is released with various improvements and bug fixes. There’s one backward incompatible change, the charset is no longer automatically appended to application/json content-type by default. See change log for more details.
  • 2020-12-11: REST Assured 4.3.3 is released with dependency updates and a bug fix. See change log for more details.
  • 2020-12-11: REST Assured 4.2.1 is released in which we’ve back-ported a fix that is useful if you’re stuck with an older version of Groovy. See change log for more details.

Click here for older news.

Release Notes


REST Assured is developed and maintained by Johan Haleby with the help of numerous other contributors over the years. Would you like to contribute to the project in any way? Submit a pull request or contact Johan at Twitter.

Johan started the project when he was working at Jayway back in December of 2010. The project is now sponsored by Parkster.