servant-routes
Copyright(c) Frederick Pringle 2025
LicenseBSD-3-Clause
Maintainerfrederick.pringle@fpringle.com
Safe HaskellNone
LanguageHaskell2010

Servant.API.Routes.Internal.Route

Description

Internal module, subject to change.

Synopsis

API routes

data Route Source #

A simple representation of a single endpoint of an API.

Instances

Instances details
ToJSON Route Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Show Route Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Methods

showsPrec :: Int -> Route -> ShowS #

show :: Route -> String #

showList :: [Route] -> ShowS #

Eq Route Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Methods

(==) :: Route -> Route -> Bool #

(/=) :: Route -> Route -> Bool #

Ord Route Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Methods

compare :: Route -> Route -> Ordering #

(<) :: Route -> Route -> Bool #

(<=) :: Route -> Route -> Bool #

(>) :: Route -> Route -> Bool #

(>=) :: Route -> Route -> Bool #

max :: Route -> Route -> Route #

min :: Route -> Route -> Route #

newtype RouteDescription Source #

Description of a route. This will correspond to the Servant Description combinator.

It should be noted that the HasRoutes behaviour for Description diverges from that in servant-openapi3, in the case that one EP has multiple Description combinators. For example, given the following API:

type MyAPI =
  "transaction" :> TransactionAPI
    :<|> "user" :> Description "User sub-API"
          :> ( Description "Get my user" :> Get '[JSON] User
              :<|> "list" :> Get '[JSON] [User]
             )

The Operation that servant-openapi generates for the GET /user endpoint will have the two Descriptions mappend-ed together: "User sub-APIGet my user".

The corresponding Route will take the most specific RouteDescription: "Get my user".

Constructors

RouteDescription 

Fields

Instances

Instances details
FromJSON RouteDescription Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

ToJSON RouteDescription Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

IsString RouteDescription Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Monoid RouteDescription Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Semigroup RouteDescription Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Show RouteDescription Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Eq RouteDescription Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Ord RouteDescription Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

newtype RouteSummary Source #

Short summary of a route. This will correspond to the Servant Summary combinator. The behaviour described for RouteDescription is the same for RouteSummary.

Constructors

RouteSummary 

Fields

Instances

Instances details
FromJSON RouteSummary Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

ToJSON RouteSummary Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

IsString RouteSummary Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Monoid RouteSummary Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Semigroup RouteSummary Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Show RouteSummary Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Eq RouteSummary Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Ord RouteSummary Source # 
Instance details

Defined in Servant.API.Routes.Internal.Route

Optics