The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Mojolicious::Plugin::OpenAPI::Parameters - Methods for transforming data from/to JSON::Validator::Schema

DESCRIPTION

Mojolicious::Plugin::OpenAPI::Parameters adds helpers to your Mojolicious application, required by Mojolicious::Plugin::OpenAPI. These helpers can be redefined in case you have special needs.

HELPERS

openapi.build_response_body

  $bytes = $c->openapi->build_response_body(Mojo::Asset->new);
  $bytes = $c->openapi->build_response_body($data);

Takes validated data and turns it into bytes that will be used as HTTP response body. This method is useful to override, in case you want to render some other structure than JSON.

openapi.build_schema_request

  $hash_ref = $c->openapi->build_schema_request;

Builds input data for "validate_request" in JSON::Validator::Schema::OpenAPIv2.

openapi.build_schema_response

  $hash_ref = $c->openapi->build_schema_response;

Builds input data for "validate_response" in JSON::Validator::Schema::OpenAPIv2.

openapi.coerce_request_parameters

  $c->openapi->coerce_request_parameters(\@evaluated_parameters);

Used by Mojolicious::Plugin::OpenAPI to write the validated data back to "req" in Mojolicious::Controller and "output" in Mojolicious::Validator::Validation.

openapi.coerce_response_parameters

  $c->openapi->coerce_response_parameters(\@evaluated_parameters);

Used by Mojolicious::Plugin::OpenAPI to write the validated data to "res" in Mojolicious::Controller.

openapi.parse_request_body

  $hash_ref = $c->openapi->parse_request_body;

Returns a structure representing the request body. The default is to parse the input as JSON:

  {content_type => "application/json", exists => !!$c->req->body_size, value => $c->req->json};

This method is useful to override, in case you want to parse some other structure than JSON.

METHODS

register

  $self->register($app, \%config);

This method will add the "HELPERS" to your Mojolicious $app.

SEE ALSO

Mojolicious::Plugin::OpenAPI.