- Speed and Ease
- Virtual Threads for Superior Performance
- Empower Developers, Streamline Applications
- Plug-and-Play, Extensible APIs
- What makes RESTHeart different from other frameworks?
- Built for developers
- Features
- The perfect MongoDB’s companion
- Extreme Performances
- Deploy at rest
- Open-source and business-friendly licenses
Get Started with RESTHeart v8
RESTHeart is a framework for building cloud-native HTTP microservices. It’s designed for the JVM and optimized for GraalVM, using Java Virtual Threads for high-performance concurrent processing.
RESTHeart provides built-in authentication, authorization, and MongoDB APIs. This lets you securely expose data through REST, GraphQL, and WebSockets without additional configuration. The framework is highly extensible through plugins, supports multiple languages (Java, Kotlin, JavaScript, TypeScript), and runs seamlessly on Docker, Kubernetes, and cloud platforms.
RESTHeart’s instant startup, declarative security model, and simple architecture help developers build scalable microservices with minimal effort.
Speed and Ease
RESTHeart prioritizes speed and simplicity. It’s built with high-quality libraries to provide a seamless developer experience.
Virtual Threads for Superior Performance
RESTHeart fully embraces virtual threads, the groundbreaking feature introduced in Java 21. Virtual threads deliver remarkable performance and efficiency improvements. This makes RESTHeart faster, more lightweight, and simplifies concurrent code development. Virtual threads provide better resource utilization and reduce the complexity of concurrent programming, keeping RESTHeart at the forefront of high-performance, scalable frameworks.
Empower Developers, Streamline Applications
RESTHeart empowers developers with an intuitive framework that includes essential features. This low-code approach provides customizable, ready-to-use APIs out of the box.
Plug-and-Play, Extensible APIs
RESTHeart’s pre-configured APIs save time and effort by covering a wide range of functionality. You can easily customize these APIs to fit your specific application needs.

RESTHeart features set
What makes RESTHeart different from other frameworks?
RESTHeart is similar to other HTTP microservice frameworks like Undertow (which RESTHeart uses internally), Vert.x, Quarkus, Spring Boot, and Node.js.
However, RESTHeart goes beyond being just a framework. It includes application-level features that let developers build applications without reinventing the wheel.

RESTHeart modular architecture
restheart-core
is the platform’s foundation. This runtime process handles core services, parses configuration, registers plugins, enforces security policies, resolves dependency injections with available Providers
, routes requests to the correct Services
, and executes Interceptors
and Initializers
.
The RESTHeart installation directory includes a plugins
folder:
plugins
├── restheart-graphql.jar
├── restheart-mongoclient-provider.jar
├── restheart-mongodb.jar
├── restheart-polyglot.jar
└── restheart-security.jar
These plugins implement application-level functionality to help you build applications.
For example, the restheart-mongodb
plugin implements the REST API for MongoDB, and restheart-security.jar
provides ready-to-use authentication and authorization features.
You can easily deploy custom plugins by adding them to the plugins
directory. Plugins are JAR files for Java or Kotlin, or directories with package.json
files for JavaScript.
Built for developers
RESTHeart is built by developers for developers. It has evolved through implementing dozens of real-world projects.
-
Only four simple yet powerful building blocks:
Services
,Providers
,Interceptors
, andInitializers
. -
Starts in ~100 milliseconds for smooth, fast code-deploy-test cycles.
-
Each request runs in a dedicated thread, making all code thread-safe, simple to write and maintain, and scalable.
-
Powerful dependency injection via
@Inject
annotation andProvider
plugin. -
Polyglot framework supporting Java, Kotlin, JavaScript, and TypeScript.
-
Well documented with many examples and tutorials. Check plugin examples.
Here you have the Hello World example in Java:
@RegisterPlugin(name = "greetings", description = "just another Hello World")
public class GreeterService implements JsonService {
@Override
public void handle(JsonRequest request, JsonResponse response) {
response.setContent(object().put("message", "Hello World!"));
}
}
And the same in Javascript
export const options = { name: "greetings", description: "just another Hello World" }
export function handle(request, response) {
response.setContent(JSON.stringify({ msg: 'Hello World' }));
response.setContentTypeAsJson();
}
Note
|
Javascript is executed in a thread-safe, multi-threading concurrency environment. So you don’t need to deal with async/await, promises, observable or any other fancy stuff. Just clean and simple code. |
Features
RESTHeart provides developers with the features required by most applications: authentication, authorization and data management:
-
Declarative Authentication and Authorization.
-
Instant REST, GraphQL and WebSocket API for MongoDB.
-
SDK to easily develop custom features.
Most applications just require this. Then you just run a stock RESTHeart. Really, no code!
Tip
|
Check the demo Web Chat application. It requires zero lines of backend code. |
The perfect MongoDB’s companion
RESTHeart is the best API for MongoDB any compatible database (like FerretDB, AWS DocumentDB and Azure CosmosDB).
-
It exposes the full database’s capabilities via REST, GraphQL and WebSocket APIs.
-
Developers don’t need to write a single line of backend code to handle data with Mobile Apps, Web Apps or Integration Middleware.
-
The Instant Data API cuts development complexity and costs by up to 90%.

MongoDB features supported by RESTHeart
Extreme Performances
Hundreds of thousands TPS
RESTHeart parallel architecture provides superior performance. Read More
Horizontal scaling
RESTHeart is fully stateless and allows clustering, to reach demanding requirements. Read More
Even faster on GraalVM
RESTHeart on GraalVM provides a native solution with instant startup time and a smaller memory footprint. This is perfect when deploying to Kubernetes clusters, where regular Java applications usually consume too many resources.
Deploy at rest
RESTHeart is tailored for the JVM, GraalVM, Docker or Kubernetes, designed to radically simplify microservices development and deployment.
-
Ready-to-run Runtime.
-
Available as a standalone JAR file, native binary or Docker image.
-
Deploy it on Cloud and On-Premises.
Open-source and business-friendly licenses
RESTHeart is dual-licensed under the AGPL and a Business Friendly Enterprise License.
-
Use the free AGPL distribution without feature restrictions.
-
Rely on the Enterprise License for production-grade support and to use RESTHeart in closed-source products or services Read More.