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
typestack avatar

typestack/routing-controllers

0
View on GitHub↗
4,508 stars·394 forks·TypeScript·MIT·17 views

Routing Controllers

routing-controllers is a declarative API router and web framework controller for TypeScript. It provides a system for defining HTTP routes and request handling logic using class-based decorators and metadata to organize API endpoints into a structured architecture.

The project utilizes adapter-based server integration to decouple routing logic from the underlying web framework, providing specific integrations for Express and Koa. It features a reflection-based type transformation system that validates and transforms incoming request parameters into typed class instances.

The capability surface covers a full request-response pipeline, including middleware execution, response interception, and global error management. It supports advanced routing utilities such as global route prefixing, filesystem-based component discovery, and dependency injection integration. Additional functionality includes role-based access control, authenticated user injection, and specialized handlers for file uploads and response streaming.

Features

  • Class-Based Logic Organization - Organizes API endpoints into structured classes using decorators to define routes and shared behaviors.
  • REST API Frameworks - Provides a declarative system for building JSON APIs with automated response formatting and input validation.
  • Integration Adapters - Decouples routing logic from underlying web frameworks using adapters for Express and Koa.
  • Reflection-Based Data Mapping - Uses reflection and metadata to convert plain JSON request data into typed class instances.
  • Request Validation - Validates and transforms incoming request parameters into typed class instances using reflection.
  • Declarative API Router Registrations - Implements a declarative system for defining HTTP routes and request handling using class-based decorators.
  • Automatic Parameter Injection - Automatically extracts data from request bodies or headers and injects them as typed arguments into handler methods.
  • Parameter Coercion and Validation - Validates and coerces incoming request parameters against defined types and constraints, returning structured errors on failure.
  • Express Integrations - Acts as a routing wrapper that adds structured class controllers and dependency injection to Express servers.
  • Express Routing Integration - Organizes Express routes and request handlers using class-based decorators to reduce boilerplate.
  • Koa Integrations - Acts as a routing wrapper that adds structured class controllers and dependency injection to Koa servers.
  • Koa Routing Middleware - Provides structured class-based routing and middleware definition for Koa servers using TypeScript.
  • Parameter Injections - Automatically extracts request parameters from bodies, headers, and queries and injects them into handler arguments.
  • Request Data Transformation - Transforms plain JSON request payloads into typed class instances to ensure type safety and business logic consistency.
  • Decorator-Based Route Mappings - Uses TypeScript decorators to map HTTP endpoints to specific class methods via metadata.
  • TypeScript - Builds structured server-side applications using TypeScript to organize endpoints into a declarative class-based architecture.
  • Web Framework Controllers - Provides a declarative class-based routing layer for organizing API endpoints using decorators in TypeScript.
  • Web Server Adapter Drivers - Implements an adapter-based system to decouple routing logic from underlying web servers like Express and Koa.
  • Request and Response Interception - Provides a layer to intercept and transform the data returned by controllers before the final response is delivered.
  • JSON Response Serializers - Automatically serializes controller return values into JSON and sets the appropriate Content-Type headers.
  • Role-Based Access Control - Implements access control via decorators to restrict controller actions based on assigned user roles and permissions.
  • Automatic Dependency Discovery - Automatically discovers and registers controllers, middleware, and interceptors using filesystem glob patterns.
  • Parameter - Provides reusable decorators to extract specific values from the request context directly into action parameters.
  • Dependency Injection - Supports injecting services into controllers and handlers using compatible dependency injection containers.
  • Authenticated User Injectors - Injects the identity of the authenticated user directly into controller methods via a custom retrieval function.
  • Filesystem Scanning - Automatically registers controllers and middleware by scanning the filesystem using glob patterns.
  • HTTP Response Builders - Provides decorators to programmatically define HTTP status codes, headers, and redirects for API responses.
  • Global Error Handlers - Captures exceptions across the application and converts them into a standardized format via a custom global handler.
  • Standard HTTP Error Responses - Returns standardized HTTP error responses using built-in or custom exception classes like NotFoundError.
  • Request Middleware - Enables running custom logic before or after route handlers at the global, controller, or method level.
  • Ordered Middleware Pipelines - Provides an ordered pipeline for executing global, class-level, or method-level middleware.
  • Request-Response Interceptors - Implements application-level interceptors to modify the final result of a controller before it is sent to the client.
  • Backend Middleware - Implements global and route-specific logic for authentication and authorization using TypeScript decorators.
  • Typed Path Parameter Decoders - Provides type-safe parsing and validation of URL path and query parameters into primitive types.

Star history

Star history chart for typestack/routing-controllersStar history chart for typestack/routing-controllers

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. 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

Curated searches featuring Routing Controllers

Hand-picked collections where Routing Controllers appears.
  • Web Development

Frequently asked questions

What does typestack/routing-controllers do?

routing-controllers is a declarative API router and web framework controller for TypeScript. It provides a system for defining HTTP routes and request handling logic using class-based decorators and metadata to organize API endpoints into a structured architecture.

What are the main features of typestack/routing-controllers?

The main features of typestack/routing-controllers are: Class-Based Logic Organization, REST API Frameworks, Integration Adapters, Reflection-Based Data Mapping, Request Validation, Declarative API Router Registrations, Automatic Parameter Injection, Parameter Coercion and Validation.

Which projects share features with typestack/routing-controllers?

Projects with overlapping indexed features include: spec-first/connexion — Connexion is a spec-first Python web framework designed to derive server behavior and validation logic directly from a… hugapi/hug — Hug is a Python API framework used for building web services by mapping functions to HTTP endpoints via decorators and… javalin/javalin — Javalin is a lightweight web framework for Java and Kotlin designed for building REST APIs and web applications. It… ruby-grape/grape — Grape is a RESTful web service framework for Ruby designed for building structured APIs. It provides a declarative… pylons/pyramid — Pyramid is a Python web framework and WSGI toolkit designed for building web applications. It functions as a URL… prefecthq/fastmcp — FastMCP is a Python framework designed for building servers that expose functions, resources, and prompts to AI models…

Projects sharing features with Routing Controllers

These projects share indexed features with Routing Controllers. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • spec-first/connexionspec-first avatar

    spec-first/connexion

    4,600View on GitHub↗

    Connexion is a spec-first Python web framework designed to derive server behavior and validation logic directly from a predefined API contract. It enables the development of web services by using an OpenAPI specification to automatically handle routing, request validation, and response serialization. The framework distinguishes itself by acting as an OpenAPI request validator and mock server. It can simulate API behavior by serving example responses based on specification schemas, allowing for frontend development and prototyping before a backend implementation is completed. Additionally, it

    Pythonapi-firstapi-restflask-extensions
    View on GitHub↗4,600
  • hugapi/hughugapi avatar

    hugapi/hug

    6,883View on GitHub↗

    Hug is a Python API framework used for building web services by mapping functions to HTTP endpoints via decorators and type annotations. It functions as a type-based validator that automatically converts and validates incoming request data based on Python type hints and serves as a WSGI-compliant web framework for deployment on production servers. The project is distinguished by its ability to automatically generate API specifications and user-facing documentation derived from function signatures. It further extends the utility of internal logic by exposing functions as terminal commands thro

    Python
    View on GitHub↗6,883
  • javalin/javalinjavalin avatar

    javalin/javalin

    8,290View on GitHub↗

    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-t

    Kotlinhacktoberfestjavajavalin
    View on GitHub↗8,290
  • ruby-grape/graperuby-grape avatar

    ruby-grape/grape

    9,990View on GitHub↗

    Grape is a RESTful web service framework for Ruby designed for building structured APIs. It provides a declarative syntax for routing and parameter validation, allowing developers to map HTTP verbs to logic through a domain specific language. The framework is distinguished by its built-in support for service versioning, which can be managed via URL paths, custom headers, or request parameters. It also features a modular architecture that allows large services to be constructed by nesting smaller API definitions. The project covers comprehensive API lifecycle capabilities, including schema-dr

    Ruby
    View on GitHub↗9,990
Compare all 30 related projects→