A simple, modern, fast & opinionated REST API framework for Golang
- A modern REST API backend framework for Golang developers
- Documentation that can’t get out of date
- Guard rails to prevent common mistakes
- High-quality developer tooling
Features included in the Golang REST/GraphQL API Framework:
- HTTP, HTTPS (TLS), and HTTP/2 built-in
- Optional read-only GraphQL interface built-in
- A declarative interface on top of widely used Golang Router Chi
- Operation & model documentation
- Request params (path, query, or header)
- Request body
- Responses (including errors)
- Response headers
- JSON Errors using RFC7807 and
- Default (optional) middleware
- Per-operation request size limits & timeouts with sane defaults
- Annotated Golang types for input and output modelsGenerates JSON Schema from Golang types
- Automatic input model validation & error handling
- Documentation generation using RapiDoc, ReDoc, or SwaggerUI
- CLI built-in, configured via arguments or environment variablesSet via e.g.
- Connection timeouts & graceful shutdown built-in
- Content negotiation between server and client
- Conditional requests support, e.g.
- Generates OpenAPI JSON for access to a rich ecosystem of tools
- Generates JSON Schema for each resource using
describedbylink relation headers as well as optional
$schemaproperties in returned objects that integrate into editors for validation & completion.
Logo & branding designed by Kari Taylor.