swagger2-2.1.4: Swagger 2.0 data model

Safe HaskellNone
LanguageHaskell2010

Data.Swagger.Internal.AesonUtils

Contents

Synopsis

Generic functions

sopSwaggerGenericToJSON :: forall a xs. (HasDatatypeInfo a, HasSwaggerAesonOptions a, All2 ToJSON (Code a), All2 Eq (Code a), Code a ~ '[xs]) => a -> Value #

Generic serialisation for swagger records.

Features

  • omits nulls, empty objects and empty arrays (configurable)
  • possible to add fields
  • possible to merge sub-object

sopSwaggerGenericToJSONWithOpts :: forall a xs. (Generic a, All2 AesonDefaultValue (Code a), HasDatatypeInfo a, All2 ToJSON (Code a), All2 Eq (Code a), Code a ~ '[xs]) => SwaggerAesonOptions -> a -> Value #

  • TODO:* This is only used by ToJSON (ParamSchema SwaggerKindSchema)

Also uses default aesonDefaults

Options

class (Generic a, All2 AesonDefaultValue (Code a)) => HasSwaggerAesonOptions a where #

Minimal complete definition

swaggerAesonOptions

Methods

swaggerAesonOptions :: proxy a -> SwaggerAesonOptions #

aesonDefaults :: proxy a -> POP Maybe (Code a) #

Instances

HasSwaggerAesonOptions SecurityScheme # 
HasSwaggerAesonOptions OAuth2Params # 
HasSwaggerAesonOptions Header # 
HasSwaggerAesonOptions Response # 
HasSwaggerAesonOptions Responses # 
HasSwaggerAesonOptions Schema # 
HasSwaggerAesonOptions ParamOtherSchema # 
HasSwaggerAesonOptions Param # 
HasSwaggerAesonOptions Operation # 
HasSwaggerAesonOptions PathItem # 
HasSwaggerAesonOptions Swagger # 
HasSwaggerAesonOptions (ParamSchema (SwaggerKindNormal * t)) # 
HasSwaggerAesonOptions (ParamSchema (SwaggerKindParamOtherSchema *)) # 
HasSwaggerAesonOptions (ParamSchema (SwaggerKindSchema *)) #