JSON::Validator::OpenAPI(3) OpenAPI is both a subset and superset of JSON Schema

DESCRIPTION

JSON::Validator::OpenAPI can validate Open API (also known as ``Swagger'') requests and responses that is passed through a Mojolicious powered web application.

JSON::Validator::OpenAPI is currently EXPERIMENTAL. Let me know if you are interested in using this class with another framework than Mojolicious.

ATTRIBUTES

JSON::Validator::OpenAPI inherits all attributes from JSON::Validator.

formats

Open API support the same formats as JSON::Validator, but adds the following to the set:
  • byte

    A padded, base64-encoded string of bytes, encoded with a URL and filename safe alphabet. Defined by RFC4648.

  • date

    An RFC3339 date in the format YYYY-MM-DD

  • double

    Cannot test double values with higher precision then what the ``number'' type already provides.

  • float

    Will always be true if the input is a number, meaning there is no difference between ``float'' and ``double''. Patches are welcome.

  • int32

    A signed 32 bit integer.

  • int64

    A signed 64 bit integer. Note: This check is only available if Perl is compiled to use 64 bit integers.

METHODS

JSON::Validator::OpenAPI inherits all attributes from JSON::Validator.

validate_input

  @errors = $self->validate_input($data, $schema);

This method will make sure ``readOnly'' is taken into account, when validating data sent to your API.

validate_request

  @errors = $self->validate_request($c, $schema, \%input);

Takes an Mojolicious::Controller and a schema definition and returns a list of errors, if any. Validated input parameters are moved into the %input hash.

validate_response

  @errors = $self->validate_response($c, $schema, $status, $data);

COPYRIGHT AND LICENSE

Copyright (C) 2014-2015, Jan Henning Thorsen

This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.

AUTHOR

Jan Henning Thorsen - "[email protected]"