Help us shape the future of Go! Take the 2026 Go Developer Survey

route

package
v1.2.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 15, 2026 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

Package route will hold the routes and route groups

Index

Constants

This section is empty.

Variables

View Source
var ErrAuthenticationRequired = errors.New("authentication required")

Functions

func RegisterRoutes

func RegisterRoutes(router *Router) error

RegisterRoutes with the echo routers - Router is defined within openapi.go

Types

type Config added in v0.25.0

type Config struct {
	Path          string
	Method        string
	Name          string
	Description   string
	Tags          []string
	OperationID   string
	Security      *openapi3.SecurityRequirements
	Middlewares   []echo.MiddlewareFunc
	Handler       func(echo.Context, *handlers.OpenAPIContext) error
	SimpleHandler func(echo.Context) error // For handlers that don't need OpenAPI context
}

Config holds the configuration for a route with automatic OpenAPI registration

type Router

type Router struct {
	Echo           *echo.Echo
	OAS            *openapi3.T
	Handler        *handlers.Handler
	StartConfig    *echo.StartConfig
	LocalFilePath  string
	Logger         *echo.Logger
	SchemaRegistry SchemaRegistry
}

Router is a struct that holds the echo router, the OpenAPI schema, and the handler - it's a way to group these components together

func (*Router) AddEchoOnlyRoute

func (r *Router) AddEchoOnlyRoute(route echo.Routable) error

AddEchoOnlyRoute is used to add a route to the echo router without adding it to the OpenAPI schema

func (*Router) AddGraphQLToOpenAPI added in v0.30.12

func (r *Router) AddGraphQLToOpenAPI()

AddGraphQLToOpenAPI adds the GraphQL endpoint to the OpenAPI specification

func (*Router) AddRoute

func (r *Router) AddRoute(pattern, method string, op *openapi3.Operation, route echo.Routable) error

AddRoute is used to add a route to the echo router and OpenAPI schema at the same time ensuring consistency between the spec and the server

func (*Router) AddUnversionedHandlerRoute added in v0.25.0

func (r *Router) AddUnversionedHandlerRoute(config Config) error

AddUnversionedHandlerRoute adds an unversioned route with automatic OpenAPI context injection

func (*Router) AddUnversionedRoute

func (r *Router) AddUnversionedRoute(pattern, method string, op *openapi3.Operation, route echo.Routable) error

AddUnversionedRoute is used to add a versioned route to the echo router and OpenAPI schema at the same time ensuring consistency between the spec and the server

func (*Router) AddV1HandlerRoute added in v0.25.0

func (r *Router) AddV1HandlerRoute(config Config) error

AddV1HandlerRoute adds a route with automatic OpenAPI context injection

func (*Router) AddV1Route added in v0.12.2

func (r *Router) AddV1Route(pattern, method string, op *openapi3.Operation, route echo.Routable) error

AddV1Route is used to add a route to the echo router and OpenAPI schema at the same time ensuring consistency between the spec and the server for version 1 routes of the api

func (*Router) Base

func (r *Router) Base() *echo.Group

Base returns the base echo group - no "version" prefix for the router group

func (*Router) VersionOne

func (r *Router) VersionOne() *echo.Group

VersionOne returns a new echo group for version 1 of the API

func (*Router) VersionTwo

func (r *Router) VersionTwo() *echo.Group

VersionTwo returns a new echo group for version 2 of the API - lets anticipate the future

type RouterOption added in v0.3.0

type RouterOption func(*Router)

RouterOption is an option function that can be used to configure the router

func WithEcho added in v0.3.0

func WithEcho(e *echo.Echo) RouterOption

WithEcho is a RouterOption that allows the echo router to be set on the router

func WithHandler added in v0.3.0

func WithHandler(h *handlers.Handler) RouterOption

WithHandler is a RouterOption that allows the handler to be set on the router

func WithHideBanner added in v0.3.0

func WithHideBanner() RouterOption

WithHideBanner is a RouterOption that allows the banner to be hidden on the echo server

func WithLocalFiles added in v0.6.10

func WithLocalFiles(lf string) RouterOption

WithLocalFiles is a RouterOption that allows the local files to be set on the router

func WithLogger added in v0.8.6

func WithLogger(logger *echo.Logger) RouterOption

WithLogger is a RouterOption that allows the logger to be set on the router

func WithOpenAPI added in v0.3.0

func WithOpenAPI(oas *openapi3.T) RouterOption

WithOpenAPI is a RouterOption that allows the OpenAPI schema to be set on the router

func WithOptions added in v0.3.0

func WithOptions(opts ...RouterOption) RouterOption

WithOptions is a RouterOption that allows multiple options to be set on the router

type SchemaRegistry added in v0.25.0

type SchemaRegistry interface {
	RegisterType(v any) (*openapi3.SchemaRef, error)
	GetOrRegister(v any) (*openapi3.SchemaRef, error)
}

SchemaRegistry interface for dynamic schema registration

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL