NAME
JSON::Validator::Schema::OpenAPIv3 - OpenAPI version 3
SYNOPSIS
See "SYNOPSIS" in JSON::Validator::Schema::OpenAPIv2.
DESCRIPTION
This class represents https://spec.openapis.org/oas/3.0/schema/2019-04-02.
ATTRIBUTES
errors
my
$array_ref
=
$schema
->errors;
See "errors" in JSON::Validator::Schema.
moniker
$str
=
$schema
->moniker;
$schema
=
$schema
->moniker(
"openapiv3"
);
Used to get/set the moniker for the given schema. Default value is "openapiv3".
specification
my
$str
=
$schema
->specification;
my
$schema
=
$schema
->specification(
$str
);
Defaults to "https://spec.openapis.org/oas/3.0/schema/2019-04-02".
METHODS
add_default_response
$schema
=
$schema
->add_default_response(\
%params
);
See "add_default_response" in JSON::Validator::Schema::OpenAPIv2 for details.
base_url
$url
=
$schema
->base_url;
$schema
=
$schema
->base_url(
$url
);
Can get or set the default URL for this schema. $url
can be either a Mojo::URL object or a plain string.
This method will read or write "/servers/0/url" in "data".
coerce
my
$schema
=
$schema
->coerce({
booleans
=> 1,
numbers
=> 1,
strings
=> 1});
my
$hash_ref
=
$schema
->coerce;
Coercion is enabled by default, since headers, path parts, query parameters, ... are in most cases strings.
new
$schema
= JSON::Validator::Schema::OpenAPIv2->new(\
%attrs
);
$schema
= JSON::Validator::Schema::OpenAPIv2->new;
Same as "new" in JSON::Validator::Schema, but will also build L/coerce>.
parameters_for_request
$parameters
=
$schema
->parameters_for_request([
$method
,
$path
]);
Finds all the request parameters defined in the schema, including inherited parameters. Returns undef
if the $path
and $method
cannot be found.
Example return value:
[
{
in
=>
"query"
,
name
=>
"q"
},
{
in
=>
"body"
,
name
=>
"body"
,
accepts
=> [
"application/json"
]},
]
The return value MUST not be mutated.
parameters_for_response
$array_ref
=
$schema
->parameters_for_response([
$method
,
$path
,
$status
]);
Finds the response parameters defined in the schema. Returns undef
if the $path
, $method
and $status
cannot be found. Will default to the "default" response definition if $status
could not be found and "default" exists.
Example return value:
[
{
in
=>
"header"
,
name
=>
"X-Foo"
},
{
in
=>
"body"
,
name
=>
"body"
,
accepts
=> [
"application/json"
]},
]
The return value MUST not be mutated.
routes
$collection
=
$schema
->routes;
Shares the same interface as "routes" in JSON::Validator::Schema::OpenAPIv2.
validate_request
@errors
=
$schema
->validate_request([
$method
,
$path
], \
%req
);
Shares the same interface as "validate_request" in JSON::Validator::Schema::OpenAPIv2.
validate_response
@errors
=
$schema
->validate_response([
$method
,
$path
], \
%req
);
Shares the same interface as "validate_response" in JSON::Validator::Schema::OpenAPIv2.
SEE ALSO
JSON::Validator::Schema, JSON::Validator::Schema::OpenAPIv2 and and JSON::Validator.