Convert a type into a plain ParamSchema.
An example type and instance:
{-# LANGUAGE OverloadedStrings #-} -- allows to write Text literals
import Control.Lens
data Direction = Up | Down
instance ToParamSchema Direction where
toParamSchema _ = mempty
& type_ ?~ SwaggerString
& enum_ ?~ [ "Up", "Down" ]
Instead of manually writing your ToParamSchema instance you can
use a default generic implementation of toParamSchema.
To do that, simply add deriving Generic clause to your datatype
and declare a ToParamSchema instance for your datatype without
giving definition for toParamSchema.
For instance, the previous example can be simplified into this:
{-# LANGUAGE DeriveGeneric #-}
import GHC.Generics (Generic)
data Direction = Up | Down deriving Generic
instance ToParamSchema Direction
Methods
toParamSchema :: Proxy a -> ParamSchema tConvert a type into a plain parameter schema.
Example1 expression encode $ toParamSchema (Proxy :: Proxy Integer)"{\"type\":\"integer\"}"
Instances48ToParamSchema, …
ToParamSchema SetCookieDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema IntegerDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema NaturalDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema StringDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema AllDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema AnyDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema VersionDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema Int16Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema Int32Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema Int64Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema Int8Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema Word16Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema Word32Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema Word64Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema Word8Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema BoolDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema CharDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema DoubleDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema FloatDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema IntDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema WordDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema ScientificDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema TextDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema TextDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema DayDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaFormat
"date"corresponds toyyyy-mm-ddformat.ToParamSchema NominalDiffTimeDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema UTCTimeDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaExample1 expression toParamSchema (Proxy :: Proxy UTCTime) ^. formatJust "yyyy-mm-ddThh:MM:ssZ"
ToParamSchema LocalTimeDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaExample1 expression toParamSchema (Proxy :: Proxy LocalTime) ^. formatJust "yyyy-mm-ddThh:MM:ss"
ToParamSchema TimeOfDayDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaExample1 expression toParamSchema (Proxy :: Proxy TimeOfDay) ^. formatJust "hh:MM:ss"
ToParamSchema ZonedTimeDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaExample1 expression toParamSchema (Proxy :: Proxy ZonedTime) ^. formatJust "yyyy-mm-ddThh:MM:ss+hhMM"
ToParamSchema UUIDDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema ()Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaExample1 expression encode $ toParamSchema (Proxy :: Proxy ())"{\"enum\":[\"_\"],\"type\":\"string\"}"
ToParamSchemaByteStringError ByteString => ToParamSchema ByteStringDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchemaByteStringError ByteString => ToParamSchema ByteStringDefined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (Set a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (Identity a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (First a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (Last a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (Dual a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (Product a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (Sum a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (HashSet a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (Vector a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (Vector a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (Vector a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema (Vector a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaToParamSchema a => ToParamSchema [a]Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchemaHasResolution a => ToParamSchema (Fixed a)Defined in swagger2-2.8.9 · Data.Swagger.Internal.ParamSchema