tapir, or Typed API descRiptions¶
With tapir you can describe HTTP API endpoints as immutable Scala values. Each endpoint can contain a number of input parameters, error-output parameters, and normal-output parameters. An endpoint specification can be interpreted as:
- a server, given the “business logic”: a function, which computes output parameters based on input parameters. Currently supported:
- a client, which is a function from input parameters to output parameters. Currently supported: sttp.
- documentation. Currently supported: OpenAPI.
Tapir is licensed under Apache2, the source code is available on GitHub.
Depending on how you prefer to explore the library, take a look at one of the examples or read on for a more detailed description of how tapir works!
Other sttp projects¶
sttp is a family of Scala HTTP-related projects, and currently includes:
Table of contents¶
- Status codes
- Custom types
- Working with JSON
- Datatypes integrations
- ZIO integration
- Running as an akka-http server
- Running as an http4s server
- Running as a Finatra server
- Running as a Play server
- Running as a Vert.X server
- Server options
- Server logic
- Error handling