awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
javalin avatar

javalin/javalin

0
View on GitHub↗
8,290 stars·642 forks·Kotlin·Apache-2.0·26 viewsjavalin.io↗

Javalin

Javalin is a lightweight web framework for Java and Kotlin designed for building REST APIs and web applications. It functions as an embedded Jetty web server, allowing applications to run as standalone processes without the need for an external servlet container.

The project provides specialized frameworks for diverse communication patterns, including a REST API framework with automatic OpenAPI schema generation, a GraphQL API framework with query and mutation resolvers, and a WebSocket server for bidirectional real-time communication. It also includes a dedicated framework for pushing real-time updates via Server-Sent Events.

Beyond API capabilities, the system covers server-side UI rendering through pluggable template engines and a buildless integration for serving Vue components. It includes a comprehensive suite of middleware for request interception, role-based access control, TLS encryption, and request rate limiting.

The server is configured through a programmatic configuration block that defines routes, handlers, and lifecycle event callbacks before the application starts.

Features

  • Java - A lightweight web framework for building REST APIs and web applications in Java and Kotlin.
  • Lightweight Web Frameworks - Acts as a minimalist web framework for Java and Kotlin, enabling rapid development of web services.
  • GraphQL Mutation Implementations - Implements server-side logic for handling GraphQL mutations to create, update, or delete data.
  • Declarative Server Configurations - Defines all server routes, handlers, and settings within a centralized configuration block for explicit initialization.
  • Embedded Server Lifecycles - Enables programmatic launching and termination of the embedded server with support for graceful shutdown.
  • Embedded Server Management - Provides comprehensive management of the embedded Jetty server, from SSL configuration to request throttling.
  • Global Server Settings - Provides centralized configuration for server parameters including thread pools, timeouts, and compression strategies.
  • Handler Route Mapping - Maps incoming HTTP requests to specific handler functions during the application configuration phase.
  • TLS Traffic Encryption - Secures communication channels using SSL/TLS encryption with support for PEM and keystores.
  • Embedded Runtime Models - Utilizes an embedded Jetty runtime model to function as a standalone application without an external servlet container.
  • Embedded Web Servers - Provides a lightweight HTTP server integrated directly into the application process as an embedded component.
  • GraphQL APIs - Provides a framework for exposing data models through a GraphQL API with support for queries, mutations, and subscriptions.
  • Field Resolvers - Implements resolver functions that map GraphQL queries to specific data-fetching logic.
  • GraphQL Subscriptions - Implements server-side GraphQL subscriptions to provide real-time data streams to clients.
  • HTTP Endpoint Mapping - Maps HTTP methods and paths to handler functions to serve data using parameters and wildcards.
  • Middleware Chains - Uses a middleware chain architecture to process HTTP requests through sequential before, endpoint, and after handlers.
  • Real-Time Communication - Supports bidirectional real-time communication via WebSockets and unidirectional streaming via Server-Sent Events.
  • Request Context - Provides a centralized context object to read and write request and response data throughout the request lifecycle.
  • REST API Frameworks - Provides a framework for building structured HTTP endpoints that process parameters and return serialized data.
  • RESTful API Development - Provides a comprehensive toolkit for REST API development, including path parameters, validation, and OpenAPI generation.
  • Jetty Server Launchers - Provides programmatic control over the embedded Jetty server, including host, port, and thread pool settings.
  • File Upload - Provides utilities to extract uploaded files from multipart requests via the request context.
  • GraphQL Frameworks - Implements a full framework for exposing GraphQL schemas with query, mutation, and subscription resolvers.
  • Resolver Context Injection - Injects shared dependencies and metadata into GraphQL resolver functions using a context annotation.
  • Websocket Connection Managers - Manages bidirectional communication with event handlers for WebSocket connection and session lifecycles.
  • WebSocket Event Systems - Provides a WebSocket event system for managing bidirectional communication through declarative connection and message handlers.
  • Status Code Response Bodies - Allows returning custom response bodies for specific HTTP status codes, tailored by content type.
  • Server-Sent Events - Pushes real-time updates to connected clients over HTTP using the Server-Sent Events protocol.
  • WebSocket Servers - Implements persistent bidirectional communication channels for real-time data exchange.
  • OpenAPI Schema Generators - Generates OpenAPI specification documents during compilation using Java annotation processors.
  • Virtual Thread Executors - Offloads request handling to lightweight virtual threads to improve scalability on supported runtimes.
  • Lifecycle Hook Executions - Executes custom logic at specific server milestones, such as when the server has successfully started.
  • Client Certificate Management - Implements mutual TLS by requiring and validating client certificates against a configured trust store.
  • Custom Session Storage Providers - Provides a server session API for configuring custom session storage, caching, and cookie attributes.
  • HTTPS Enforcements - Automatically forwards insecure HTTP requests to the secure HTTPS connector.
  • Request Rate Limiting - Throttles the number of requests a client can make within a time window to protect server resources.
  • Role-Based Access Control - Manages user permissions and restricts endpoint access based on assigned roles.
  • TLS/SSL Configurations - Provides programmatic configuration for SSL and HTTP/2 support within the embedded server.
  • TLS Certificate Management - Supports loading TLS certificate and private key material from PEM files, PKCS#12, or JKS keystores.
  • WebSocket Security - Provides handlers to perform authentication and validation during the WebSocket upgrade process.
  • Asynchronous Request Handlers - Processes multiple client requests concurrently using asynchronous patterns to maintain high throughput.
  • Lifecycle Callbacks - Offers user-defined callbacks that trigger during specific server lifecycle stages such as startup and shutdown.
  • Wrapper Handlers - Provides wrapper handlers to execute custom logic around endpoints for propagating thread-local context.
  • Explicit Nullable Validators - Provides validators that return nullable types by default and require explicit markers for required values.
  • Context Object Passing - Implements a context object pattern to encapsulate request and response data for access throughout the handler chain.
  • Hook-Based Plugin Systems - Features a hook-based plugin system that allows extending server functionality at specific configuration and startup milestones.
  • Compile-Time Generators - Provides compile-time API schema generation via annotation processing to eliminate runtime reflection overhead.
  • Parameter Coercion and Validation - Validates and coerces query, form, path parameters, and headers against defined types and constraints.
  • Vue Server-Side Renderers - Renders Vue component files directly on the server to generate HTML pages without a separate frontend build step.
  • Exception Response Mapping - Implements mechanisms to map internal server exceptions to specific HTTP response status codes and bodies.
  • Error Handlers - Provides centralized error handlers to intercept application errors and return standardized HTTP responses.
  • Content-Type Differentiated Error Responses - Provides custom error responses that vary the body format based on the request's accepted content type.
  • Configuration-Block Lifecycle Handlers - Allows the registration of lifecycle event handlers directly within the server's configuration block.
  • Multipart Upload Utilities - Receives and processes uploaded files from multipart/form-data requests as structured objects.
  • Template-Driven Rendering - Provides capabilities to generate dynamic HTML by merging data models with server-side templates.
  • Request Middleware - Executes post-request middleware for cleanup and logging after every request, including exceptions.
  • RESTful CRUD Implementations - Implements standardized interfaces for mapping HTTP methods to create, read, update, and delete operations.
  • Route Grouping - Organizes API endpoints into nested path groups to share middleware and reduce path repetition.
  • Routing Configurations - Provides a programmatic configuration block to define all routes before the server starts.
  • Server-Side Rendering - Supports server-side UI rendering through pluggable template engines and buildless Vue component serving.
  • Vue Reactive State Injections - Injects server-side data into Vue instances on every request as a reactive state variable.
  • Server-Side Rendering Engines - Supports multiple pluggable server-side rendering engines for generating dynamic HTML responses.
  • Server-Side Component Serving - Serves Vue components directly from the server into a single HTML page without requiring a build tool.
  • Vue Component Bindings - Associates Vue components with server GET endpoints to apply server-side access control and middleware.
  • Web Framework Plugins - Enables the addition of custom functionality through reusable modules that hook into the request lifecycle.
  • REST Static File Servings - Serves static files from the classpath or file system alongside dynamic REST endpoints.

Star history

Star history chart for javalin/javalinStar history chart for javalin/javalin

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Javalin

Similar open-source projects, ranked by how many features they share with Javalin.
  • salvo-rs/salvosalvo-rs avatar

    salvo-rs/salvo

    4,376View on GitHub↗

    Salvo is a comprehensive Rust web framework for building asynchronous HTTP servers and web applications. It features a hierarchical web router that uses a tree-based structure to map requests to handlers and an asynchronous middleware pipeline based on the onion model for request and response pre- and post-processing. The framework is distinguished by its native support for modern network protocols, including a QUIC-based HTTP/3 implementation alongside HTTP/1 and HTTP/2. It includes an integrated OpenAPI documentation generator that extracts schemas directly from handler signatures to produc

    Rustasyncframeworkhttp-server
    View on GitHub↗4,376
  • elysiajs/elysiaelysiajs avatar

    elysiajs/elysia

    18,531View on GitHub↗

    Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a modular, plugin-based architecture that allows developers to compose server logic, middleware, and validation schemas into scalable application instances. By leveraging native web standards, the framework ensures portability across diverse JavaScript runtimes, including Node.js, Deno, and various edge computing environments. The framework distinguishes itself through its focus on end-to-end type safety, automatically synchronizing request and response definitions between the s

    TypeScriptbunframeworkhttp
    View on GitHub↗18,531
  • perwendel/sparkperwendel avatar

    perwendel/spark

    9,657View on GitHub↗

    Spark is a lightweight Java web framework and embedded server designed for building web applications with minimal boilerplate. It functions as an HTTP routing engine that maps URL paths and methods to handler functions, providing a specialized domain specific language for web development in Kotlin. The framework enables the implementation of REST APIs and web services through the definition of HTTP routes. It supports the extraction of dynamic path parameters and the transformation of response data into formats such as JSON. Additional capabilities include the ability to serve static files a

    Java
    View on GitHub↗9,657
  • graphql-python/graphenegraphql-python avatar

    graphql-python/graphene

    8,238View on GitHub↗

    Graphene is a library and framework for building type-safe GraphQL APIs and schemas using Python objects and resolvers. It provides a system for mapping internal data models to typed GraphQL schemas, enabling the creation of servers that process queries and execute resolvers to return structured data. The project includes a full implementation of the Relay specification, providing standardized patterns for global object identification and cursor-based pagination. It utilizes a class-based approach to schema definition and supports interface-based type inheritance. The framework covers a broa

    Python
    View on GitHub↗8,238
See all 30 alternatives to Javalin→

Frequently asked questions

What does javalin/javalin do?

Javalin is a lightweight web framework for Java and Kotlin designed for building REST APIs and web applications. It functions as an embedded Jetty web server, allowing applications to run as standalone processes without the need for an external servlet container.

What are the main features of javalin/javalin?

The main features of javalin/javalin are: Java, Lightweight Web Frameworks, GraphQL Mutation Implementations, Declarative Server Configurations, Embedded Server Lifecycles, Embedded Server Management, Global Server Settings, Handler Route Mapping.

What are some open-source alternatives to javalin/javalin?

Open-source alternatives to javalin/javalin include: salvo-rs/salvo — Salvo is a comprehensive Rust web framework for building asynchronous HTTP servers and web applications. It features a… elysiajs/elysia — Elysia is a high-performance TypeScript web framework designed for building type-safe backend services. It provides a… perwendel/spark — Spark is a lightweight Java web framework and embedded server designed for building web applications with minimal… graphql-python/graphene — Graphene is a library and framework for building type-safe GraphQL APIs and schemas using Python objects and… nanohttpd/nanohttpd — NanoHTTPD is a lightweight, embeddable HTTP server for Java applications. It allows developers to integrate web server… danielgtaylor/huma — Huma is an OpenAPI REST framework for Go designed for building HTTP services with automatic OpenAPI 3.1 specification…