Rest Assured

Java DSL for easy testing of REST services
Alternatives To Rest Assured
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Fastapi58,6831381,1439 hours ago147May 14, 2022517mitPython
FastAPI framework, high performance, easy to learn, fast to code, ready for production
Httpie27,8561,6454211 days ago55May 06, 2022146bsd-3-clausePython
🥧 HTTPie for Terminal — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more.
Ky9,84687526019 days ago53September 03, 202248mitTypeScript
🌳 Tiny & elegant JavaScript HTTP client based on the browser Fetch API
Api Platform7,919
4 days ago37February 12, 2018559mitTypeScript
Create REST and GraphQL APIs, scaffold Jamstack webapps, stream changes in real-time.
Rest Assured6,3497,3643952 months ago29September 09, 2022503apache-2.0Java
Java DSL for easy testing of REST services
Wiremock5,5771,6267524 days ago104September 10, 2020311apache-2.0Java
A tool for mocking HTTP services
Kemal3,485
2 months ago15mitCrystal
Fast, Effective, Simple Web Framework
Php Curl Class3,152690352a day ago66September 24, 20223unlicensePHP
PHP Curl Class makes it easy to send HTTP requests and integrate with web APIs
Flask Restplus2,5588631192 years ago35August 12, 2019380otherPython
Fully featured framework for fast, easy and documented API development with Flask
Httpexpect2,202701102 days ago23July 20, 202134mitGo
End-to-end HTTP and REST API testing for Go.
Alternatives To Rest Assured
Select To Compare


Alternative Project Comparisons
Readme

REST Assured

Build Status Maven Central

Testing and validation of 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.

News

  • 2022-11-18: REST Assured 5.3.0 is released. It adds CSRF header support and a much improved CSRF support in general. It also brings the Spring MockMvc Module up-to-date with changes in Spring Framework 6 and Spring Boot 3, as well as various other bug fixes and improvements. See changelog for more details.
  • 2022-11-18: REST Assured 5.2.1 is released. It just brings the Spring MockMvc Module up-to-date with changes in Spring Framework 6 and Spring Boot 3.
  • 2022-09-09: REST Assured 5.2.0 is released with, among other things, much improved CRSF support. See release notes and change log for more details.

Older News

Examples

Here's an example of how to make a GET request and validate the JSON or XML response:

get("/lotto").then().assertThat().body("lotto.lottoId", equalTo(5));

Get and verify all winner ids:

get("/lotto").then().assertThat().body("lotto.winners.winnerId", hasItems(23, 54));

Using parameters:

given().
    param("key1", "value1").
    param("key2", "value2").
when().
    post("/somewhere").
then().
    body(containsString("OK"));

Using X-Path (XML only):

given().
    params("firstName", "John", "lastName", "Doe").
when().
    post("/greetMe").
then().
    body(hasXPath("/greeting/firstName[text()='John']")).

Need authentication? REST Assured provides several authentication mechanisms:

given().auth().basic(username, password).when().get("/secured").then().statusCode(200);

Getting and parsing a response body:

// Example with JsonPath
String json = get("/lotto").asString();
List<String> winnerIds = from(json).get("lotto.winners.winnerId");
    
// Example with XmlPath
String xml = post("/shopping").andReturn().body().asString();
Node category = from(xml).get("shopping.category[0]");

REST Assured supports any HTTP method but has explicit support for POST, GET, PUT, DELETE, OPTIONS, PATCH and HEAD and includes specifying and validating e.g. parameters, headers, cookies and body easily.

Documentation

Support and discussion

Join the mailing list at our Google group.

Links

Buy Me A Coffee

Popular Rest Projects
Popular Json Projects
Popular Application Programming Interfaces Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Kotlin
Json
Http
Rest
Rest Api
Xml
Groovy
Test Automation