# rest-assured/rest-assured

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rest-assured-rest-assured).**

7,127 stars · 1,931 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/rest-assured/rest-assured
- awesome-repositories: https://awesome-repositories.com/repository/rest-assured-rest-assured.md

## Description

Rest-assured is a Java-based REST API testing framework and HTTP client library designed for automating web service tests. It provides a fluent domain-specific language and assertion library to send HTTP requests and validate response metadata, including status codes, headers, cookies, and bodies.

The framework is distinguished by a method-chaining DSL that creates readable specifications for API interactions. It features a filter-based request interception pipeline, object-mapping serialization for converting Java objects to JSON or XML, and a path-based parsing system to isolate specific fields within response bodies.

The tool covers a broad range of capabilities including structural validation via JSON and XML schemas, session-tracking automation for CSRF tokens and session identifiers, and security management for SSL and various authentication schemes. It also supports mock-client integration for testing web controllers without a full network stack, as well as performance monitoring to measure response times.

## Tags

### Programming Languages & Runtimes

- [Fluent Interfaces](https://awesome-repositories.com/f/programming-languages-runtimes/fluent-interfaces.md) — Uses a fluent interface with method chaining to create a readable, declarative specification for API tests.

### Testing & Quality Assurance

- [HTTP Resource Invocation](https://awesome-repositories.com/f/testing-quality-assurance/http-resource-invocation.md) — Ships a fluent API to send requests using standard or custom HTTP verbs to specified endpoints. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [REST API Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/rest-api-testing-tools.md) — Provides a fluent DSL for sending HTTP requests and validating server endpoints. ([source](https://github.com/rest-assured/rest-assured/blob/master/README.md))
- [Automated Testing Tools](https://awesome-repositories.com/f/testing-quality-assurance/automated-testing-tools.md) — Provides a comprehensive suite for automating the testing of web services and controllers.
- [HTTP Response Assertions](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/network-api-mocking/http-response-assertions.md) — Implements assertions to verify JSON and XML response content and patterns. ([source](https://github.com/rest-assured/rest-assured/blob/master/README.md))
- [Request Parameter Configurations](https://awesome-repositories.com/f/testing-quality-assurance/request-parameter-configurations.md) — Provides a fluent way to configure query, form, and path parameters for outgoing API requests. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage_Legacy))
- [Request Parameter Management](https://awesome-repositories.com/f/testing-quality-assurance/request-parameter-management.md) — Supports sending query, form, and named path parameters to servers during API testing. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Response Body Assertions](https://awesome-repositories.com/f/testing-quality-assurance/response-body-assertions.md) — Provides capabilities to compare entire response bodies or specific paths within them against expected values. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [API Integration Testing](https://awesome-repositories.com/f/testing-quality-assurance/api-integration-testing.md) — Verifies web endpoints and controller logic through automated API integration tests. ([source](https://github.com/rest-assured/rest-assured/wiki/OldNews))
- [Content Type Specifications](https://awesome-repositories.com/f/testing-quality-assurance/content-type-specifications.md) — Allows specifying the MIME type of the request body or removing the default content-type header. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Request Specifications](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-configuration/reusable-test-constants/request-specifications.md) — Provides reusable request specifications to maintain consistency across multiple API tests.
- [MIME Type Validations](https://awesome-repositories.com/f/testing-quality-assurance/mime-type-validations.md) — Allows verifying that the response content-type matches the expected MIME type. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Mock Client Testing](https://awesome-repositories.com/f/testing-quality-assurance/mock-client-testing.md) — Enables testing of web controllers in isolation by bypassing the network stack and interacting directly with mock clients.
- [Performance Measurement](https://awesome-repositories.com/f/testing-quality-assurance/performance-testing-analysis/performance-diagnostics/performance-measurement.md) — Measures the time taken for API requests to complete and validates it against performance thresholds. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Web Controller Mocking](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/unit/unit-testing/web-controller-mocking.md) — Allows testing of web controllers in isolation without requiring a full running HTTP server. ([source](https://github.com/rest-assured/rest-assured/wiki/GettingStarted))

### Part of an Awesome List

- [XML Response Parsers](https://awesome-repositories.com/f/awesome-lists/data/html-and-xml-parsing/xml-response-parsers.md) — Extracts data from XML responses using a path-based syntax to verify specific values. ([source](https://github.com/rest-assured/rest-assured/wiki/GettingStarted))
- [Object Mapping](https://awesome-repositories.com/f/awesome-lists/devtools/object-mapping.md) — Provides libraries for mapping Java objects to JSON or XML and vice versa for request/response bodies.
- [Testing Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/testing-frameworks.md) — Java DSL for simplifying REST API testing.

### DevOps & Infrastructure

- [Response Parsing Utilities](https://awesome-repositories.com/f/devops-infrastructure/response-parsing-utilities.md) — Extracts data from JSON, XML, or HTML responses using specialized path parsers. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Automatic Body Deserializers](https://awesome-repositories.com/f/devops-infrastructure/response-parsing-utilities/automatic-body-deserializers.md) — Converts JSON or XML response content into programmable Java objects via object-mapping. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [JSON Response Parsers](https://awesome-repositories.com/f/devops-infrastructure/response-parsing-utilities/json-response-parsers.md) — Includes path-based JSON response parsers to verify specific fields and values in API responses. ([source](https://github.com/rest-assured/rest-assured/wiki/ReleaseNotes60))
- [Response Body Parsing](https://awesome-repositories.com/f/devops-infrastructure/response-parsing-utilities/response-body-parsing.md) — Retrieves specific values from response bodies using path queries or raw streams. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))

### Networking & Communication

- [HTTP Client Libraries](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/http-client-libraries.md) — Functions as a Java HTTP client library with integrated support for JSON and XML serialization.
- [Custom Request Headers](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/http-client-libraries/http-client-configurations/custom-request-headers.md) — Provides capabilities for injecting user-defined metadata and authentication into HTTP request headers. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Cookie Management](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/request-configurations/cookie-management.md) — Provides tools for injecting specific cookies into web requests to maintain session state. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [HTTP Traffic Logging](https://awesome-repositories.com/f/networking-communication/http-clients/http-servers/http-traffic-logging.md) — Logs all outgoing HTTP requests and incoming responses, including headers and bodies, for diagnostics. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage_Legacy))
- [HTTP Header Validations](https://awesome-repositories.com/f/networking-communication/http-header-validations.md) — Verifies that specific response headers are present and match expected values or custom logic. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Reusable Request Specifications](https://awesome-repositories.com/f/networking-communication/request-header-configuration/reusable-request-specifications.md) — Defines reusable sets of parameters and headers to avoid duplication across test suites. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Session Management](https://awesome-repositories.com/f/networking-communication/session-management.md) — Maintains state and authentication across multiple requests using an automated session identifier filter. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage_Legacy))

### Security & Cryptography

- [API Authentication Schemes](https://awesome-repositories.com/f/security-cryptography/basic-authentication/api-authentication-schemes.md) — Supports multiple security schemes including Basic, OAuth, and Certificates to secure outgoing API calls. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage_Legacy))
- [Client-Side Request Authentication](https://awesome-repositories.com/f/security-cryptography/domain-access-restrictions/request-access-restrictions/client-side-request-authentication.md) — Provides mechanisms for attaching security credentials to outgoing network requests to access protected endpoints. ([source](https://github.com/rest-assured/rest-assured#readme))
- [Digest Authentication](https://awesome-repositories.com/f/security-cryptography/identity-access-management/authentication-strategies/user-facing-login-methods/standard-web-authentication-schemes/digest-authentication.md) — Implements various web authentication schemes such as Basic, Digest, Form, and OAuth. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Cross-Site Request Forgery Protections](https://awesome-repositories.com/f/security-cryptography/cross-site-request-forgery-protections.md) — Propagates and validates unique CSRF tokens on state-changing requests to ensure secure communication. ([source](https://github.com/rest-assured/rest-assured/wiki/OldNews))
- [TLS/SSL Configurations](https://awesome-repositories.com/f/security-cryptography/security/cryptography-and-secrets/cryptographic-primitives-management/tls-ssl-configurations.md) — Provides configurations for enforcing encrypted network communication via TLS and SSL protocols. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [SSL Verification Settings](https://awesome-repositories.com/f/security-cryptography/ssl-verification-settings.md) — Manages SSL certificate validation, including the use of custom keystores and truststores. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage_Legacy))

### Web Development

- [Request Body Handling](https://awesome-repositories.com/f/web-development/request-body-handling.md) — Allows attaching text, byte arrays, or serialized objects to POST, PUT, and DELETE requests. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage_Legacy))
- [Request-Response Interceptors](https://awesome-repositories.com/f/web-development/request-response-interceptors.md) — Implements a pipeline of interceptors to modify outgoing requests and inspect incoming responses globally. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [API Response Validation](https://awesome-repositories.com/f/web-development/rest-apis/api-response-validation.md) — Validates HTTP status codes, status lines, headers, and cookies to verify server response metadata. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage_Legacy))
- [Schema-Based Response Validation](https://awesome-repositories.com/f/web-development/client-side-input-validators/schema-based-response-validation.md) — Verifies that API response bodies adhere to predefined JSON or XML structural schemas.
- [Multipart Upload Utilities](https://awesome-repositories.com/f/web-development/multipart-upload-utilities.md) — Provides utilities for attaching files and data streams to HTTP requests using multipart form data. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage_Legacy))
- [XML Schema Validations](https://awesome-repositories.com/f/web-development/schema-validation/xml-schema-validations.md) — Performs structural verification of XML responses using path expressions or formal XSD schemas. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Mock Client Integrations](https://awesome-repositories.com/f/web-development/web-framework-integrations/mock-client-integrations.md) — Enables testing of web controllers by interfacing with mock clients to bypass the full network stack. ([source](https://github.com/rest-assured/rest-assured/wiki/ReleaseNotes60))

### Data & Databases

- [Schema Validators](https://awesome-repositories.com/f/data-databases/json-schema-modeling/schema-validators.md) — Verifies that JSON response bodies adhere to a predefined structure and set of validation rules. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage))
- [Object Mapping Libraries](https://awesome-repositories.com/f/data-databases/object-mapping-libraries.md) — Includes libraries for mapping XML response data into programmable Java objects for easier validation. ([source](https://github.com/rest-assured/rest-assured/wiki/OldNews))
- [Object-Primitive Mapping](https://awesome-repositories.com/f/data-databases/object-primitive-mapping.md) — Provides a layer that transforms Java objects into JSON or XML formats for API request transmission. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage_Legacy))
- [Automated Session Handling](https://awesome-repositories.com/f/data-databases/session-tracking/automated-session-handling.md) — Automatically captures session identifiers and CSRF tokens from responses to apply them to subsequent requests.

### Development Tools & Productivity

- [Global Defaults](https://awesome-repositories.com/f/development-tools-productivity/global-defaults.md) — Defines global base URIs, ports, and parsers to standardize request configurations. ([source](https://github.com/rest-assured/rest-assured/wiki/Usage_Legacy))

### Software Engineering & Architecture

- [JSON Schema Validation](https://awesome-repositories.com/f/software-engineering-architecture/json-schema-validation.md) — Verifies that JSON response bodies conform to a predefined schema for structural correctness. ([source](https://github.com/rest-assured/rest-assured/wiki/GettingStarted))
