NAME

Mojolicious::Command::openapi - Perform Open API requests

SYNOPSIS

Usage: APPLICATION openapi SPECIFICATION OPERATION "{ARGUMENTS}" [SELECTOR|JSON-POINTER]

  # Fetch /api from myapp.pl and list available operationId
  ./myapp.pl openapi /api

  # Dump the whole specification or for an operationId
  ./myapp.pl openapi /api -I
  ./myapp.pl openapi /api -I addPet

  # Run an operation against a local application
  ./myapp.pl openapi /api listPets /pets/0

  # Run an operation against a local application, with body parameter
  ./myapp.pl openapi /api addPet -c '{"name":"pluto"}'
  echo '{"name":"pluto"} | ./myapp.pl openapi /api addPet

  # Run an operation with parameters
  mojo openapi spec.json listPets -p limit=10 -p type=dog

  # Run against local or online specifications
  mojo openapi /path/to/spec.json listPets
  mojo openapi http://service.example.com/api.json listPets

Options:
  -h, --help                           Show this summary of available options
  -c, --content <content>              JSON content, with body parameter data
  -i, --inactivity-timeout <seconds>   Inactivity timeout, defaults to the
                                       value of MOJO_INACTIVITY_TIMEOUT or 20
  -I, --information [operationId]      Dump the specification about a given
                                       operationId or the whole spec.
                                       YAML::XS is preferred if available.
  -o, --connect-timeout <seconds>      Connect timeout, defaults to the value
                                       of MOJO_CONNECT_TIMEOUT or 10
  -p, --parameter <name=value>         Specify multiple header, path, or
                                       query parameter
  -S, --response-size <size>           Maximum response size in bytes,
                                       defaults to 2147483648 (2GB)
  -v, --verbose                        Print request and response headers to
                                       STDERR

DESCRIPTION

Mojolicious::Command::openapi is a command line interface for OpenAPI::Client.

Not that this implementation is currently EXPERIMENTAL! Feedback is appreciated.

ATTRIBUTES

description

$str = $command->description;

usage

$str = $command->usage;

METHODS

run

$command->run(@ARGV);

Run this command.

SEE ALSO

OpenAPI::Client.