# tsoa ## Docs - [Custom Route Generator](https://mintlify.wiki/lukeautry/tsoa/advanced/custom-route-generator.md): Create custom route generators to integrate tsoa with any framework or customize route generation logic - [Error Handling](https://mintlify.wiki/lukeautry/tsoa/advanced/error-handling.md): Comprehensive error handling strategies for tsoa applications including validation, authentication, and custom errors - [Middleware](https://mintlify.wiki/lukeautry/tsoa/advanced/middleware.md): Apply Express, Koa, or Hapi middleware to your tsoa controllers and routes - [Testing](https://mintlify.wiki/lukeautry/tsoa/advanced/testing.md): Comprehensive testing strategies for tsoa applications including unit tests, integration tests, and testing best practices - [@Example](https://mintlify.wiki/lukeautry/tsoa/api/decorators/example.md): Provide example values for requests and responses - [HTTP Method Decorators](https://mintlify.wiki/lukeautry/tsoa/api/decorators/methods.md): Define HTTP methods for controller endpoints - [Parameter Decorators](https://mintlify.wiki/lukeautry/tsoa/api/decorators/parameters.md): Inject and validate request parameters - [Response Decorators](https://mintlify.wiki/lukeautry/tsoa/api/decorators/response.md): Define response types, status codes, and headers - [@Route](https://mintlify.wiki/lukeautry/tsoa/api/decorators/route.md): Define a controller's base route path - [Security Decorators](https://mintlify.wiki/lukeautry/tsoa/api/decorators/security.md): Define authentication and authorization requirements - [@Tags](https://mintlify.wiki/lukeautry/tsoa/api/decorators/tags.md): Organize endpoints with tags for better documentation - [generateRoutes](https://mintlify.wiki/lukeautry/tsoa/api/functions/generate-routes.md): Generate route registration code for Express, Koa, or Hapi - [generateSpec](https://mintlify.wiki/lukeautry/tsoa/api/functions/generate-spec.md): Generate OpenAPI specification from TypeScript controllers - [Config](https://mintlify.wiki/lukeautry/tsoa/api/interfaces/config.md): Main tsoa configuration interface - [RoutesConfig](https://mintlify.wiki/lukeautry/tsoa/api/interfaces/routes-config.md): Route generation configuration for Express, Koa, or Hapi - [SpecConfig](https://mintlify.wiki/lukeautry/tsoa/api/interfaces/spec-config.md): OpenAPI specification generation configuration - [CLI Commands](https://mintlify.wiki/lukeautry/tsoa/cli/commands.md): Complete reference for all tsoa CLI commands and their options - [Configuration](https://mintlify.wiki/lukeautry/tsoa/cli/configuration.md): Complete guide to configuring tsoa through tsoa.json, tsoa.yaml, or tsoa.js - [CLI Overview](https://mintlify.wiki/lukeautry/tsoa/cli/overview.md): Introduction to the tsoa command-line interface for generating OpenAPI specs and routes - [tsoa.json Reference](https://mintlify.wiki/lukeautry/tsoa/cli/tsoa-config.md): Complete schema reference for tsoa configuration files - [Authentication](https://mintlify.wiki/lukeautry/tsoa/concepts/authentication.md): Secure your API endpoints with authentication and authorization - [Controllers](https://mintlify.wiki/lukeautry/tsoa/concepts/controllers.md): Define API endpoints with TypeScript classes and decorators - [Decorators](https://mintlify.wiki/lukeautry/tsoa/concepts/decorators.md): Extract and validate data from HTTP requests using parameter decorators - [Models](https://mintlify.wiki/lukeautry/tsoa/concepts/models.md): Define type-safe data structures with TypeScript interfaces and types - [Responses](https://mintlify.wiki/lukeautry/tsoa/concepts/responses.md): Handle different response types, status codes, and error scenarios - [Validation](https://mintlify.wiki/lukeautry/tsoa/concepts/validation.md): Add runtime validation to your API with JSDoc validation tags - [Custom Templates](https://mintlify.wiki/lukeautry/tsoa/guides/custom-templates.md): Customize route generation with your own Handlebars templates - [Dependency Injection](https://mintlify.wiki/lukeautry/tsoa/guides/dependency-injection.md): Use IoC containers with tsoa controllers - [Express Setup](https://mintlify.wiki/lukeautry/tsoa/guides/express-setup.md): Complete guide to setting up tsoa with Express.js - [File Uploads](https://mintlify.wiki/lukeautry/tsoa/guides/file-uploads.md): Handle multipart file uploads in your tsoa API - [Hapi Setup](https://mintlify.wiki/lukeautry/tsoa/guides/hapi-setup.md): Complete guide to setting up tsoa with Hapi.js - [Koa Setup](https://mintlify.wiki/lukeautry/tsoa/guides/koa-setup.md): Complete guide to setting up tsoa with Koa.js - [OpenAPI Versions](https://mintlify.wiki/lukeautry/tsoa/guides/openapi-versions.md): Understanding and configuring OpenAPI specification versions in tsoa - [Installation](https://mintlify.wiki/lukeautry/tsoa/installation.md): Install tsoa and set up your project to build OpenAPI-compliant REST APIs with TypeScript - [Introduction](https://mintlify.wiki/lukeautry/tsoa/introduction.md): Build OpenAPI-compliant REST APIs using TypeScript and Node - [General Upgrade Guide](https://mintlify.wiki/lukeautry/tsoa/migration/upgrade-guide.md): Best practices and strategies for upgrading tsoa across major versions - [Migrating from v6 to v7](https://mintlify.wiki/lukeautry/tsoa/migration/v6-to-v7.md): Guide for upgrading tsoa from version 6.x to 7.x - [Quickstart](https://mintlify.wiki/lukeautry/tsoa/quickstart.md): Build your first tsoa API in minutes