Overview of server integrations

Server interpreters require the endpoint descriptions to be combined with “business logic”: functions, which compute an endpoint’s output parameters based on input parameters.

Tapir integrates with a number of HTTP server implementations, through server interpreters. We recommend starting with the Netty-based server. However, if you already have experience with another server, or are using one in your project already, just continue doing so, and enjoy seamless Tapir integration!

Currently supported:

  • Netty (using direct-style, Futures, cats-effect or ZIO)

  • Http4s HttpRoutes[F] (using cats-effect or ZIO)

  • Pekko HTTP Routes/Directives

  • ZIO Http Http

  • Play Route

  • Akka HTTP Routes/Directives

  • Helidon Níma (using JVM 21 Virtual Threads and direct style)

  • Finatra http.Controller

  • Vert.X Router => Route (using Futures, cats-effect or ZIO)

  • Armeria HttpServiceWithRoutes (using Futures, cats-effect or ZIO)

  • JDK HTTP HttpHandler (simple, synchronous API only)

  • aws through Lambda/SAM/Terraform

  • gRPC