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 of GitHub.
Contents¶
- Quickstart
- Examples
- Goals of the project
- Endpoints: basics
- Endpoints: inputs/outputs
- Endpoints: codecs
- Endpoints: working with JSON
- Endpoints: forms
- Endpoints: authentication
- Endpoints: implicits guide
- Servers: akka-http interpreter
- Servers: http4s interpreter
- Servers: options
- Servers: logic
- Servers: error handling
- Servers: debugging
- Clients: sttp interpreter
- Other interpreters
- Documentation: openapi interpreter
- Create your own tapir
- FAQ
- Design notes
- Contributing