Hoogle Search
Within LTS Haskell 24.65 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
class
GMonoid (f :: Type -> Type)openapi3 Data.OpenApi.Internal.Utils No documentation available.
-
openapi3 Data.OpenApi.Internal.Utils No documentation available.
class
HasOperationId s a | s -> aopenapi3 Data.OpenApi.Lens No documentation available.
_SecuritySchemeOpenIdConnect :: Prism' SecuritySchemeType URLopenapi3 Data.OpenApi.Lens No documentation available.
operationId :: HasOperationId s a => Lens' s aopenapi3 Data.OpenApi.Lens No documentation available.
validateFromJSON :: (ToSchema a, FromJSON a) => Proxy a -> Propertyopenapi3 Data.OpenApi.Schema.Generator No documentation available.
module Data.OpenApi.Schema.
Validation Validate JSON values with Swagger Schema.
-
openapi3 Data.OpenApi.Schema.Validation Validation error message.
renderValidationErrors :: (ToJSON a, ToSchema a) => (a -> [ValidationError]) -> a -> Maybe Stringopenapi3 Data.OpenApi.Schema.Validation Pretty print validation errors together with actual JSON and Swagger Schema (using encodePretty).
>>> import Data.Aeson as Aeson >>> import Data.Foldable (traverse_) >>> import GHC.Generics >>> data Phone = Phone { value :: String } deriving (Generic) >>> data Person = Person { name :: String, phone :: Phone } deriving (Generic) >>> instance ToJSON Person where toJSON p = object [ "name" Aeson..= name p ] >>> instance ToSchema Phone >>> instance ToSchema Person >>> let person = Person { name = "John", phone = Phone "123456" } >>> traverse_ putStrLn $ renderValidationErrors validateToJSON person Validation against the schema fails: * property "phone" is required, but not found in "{\"name\":\"John\"}" JSON value: { "name": "John" } Swagger Schema: { "properties": { "name": { "type": "string" }, "phone": { "$ref": "#/components/schemas/Phone" } }, "required": [ "name", "phone" ], "type": "object" } Swagger Description Context: { "Phone": { "properties": { "value": { "type": "string" } }, "required": [ "value" ], "type": "object" } }validateJSON :: Definitions Schema -> Schema -> Value -> [ValidationError]openapi3 Data.OpenApi.Schema.Validation Validate JSON Value against Swagger Schema.
validateJSON mempty (toSchema (Proxy :: Proxy Int)) (toJSON (x :: Int)) == []
NOTE: validateJSON does not perform string pattern validation. See validateJSONWithPatternChecker.