NAME Swagger2 - Swagger RESTful API Documentation VERSION 0.05 DESCRIPTION THIS MODULE IS EXPERIMENTAL! ANY CHANGES CAN HAPPEN! Swagger2 is a module for generating, parsing and transforming swagger API documentation. It has support for reading swagger specification in JSON notation and it can also read YAML files, if a "YAML parser" is installed. This distribution comes with a Mojolicious plugin, Mojolicious::Plugin::Swagger2, which can set up routes and perform input and output validation. RECOMMENDED MODULES * YAML parser A YAML parser is required if you want to read/write spec written in the YAML format. Supported modules are YAML::XS, YAML::Syck, YAML and YAML::Tiny. SYNOPSIS use Swagger2; my $swagger = Swagger2->new("file:///path/to/api-spec.yaml"); # Access the raw specification values print $swagger->tree->get("/swagger"); # Returns the specification as a POD document print $swagger->pod->to_string; ATTRIBUTES base_url $mojo_url = $self->base_url; Mojo::URL object that holds the location to the API endpoint. Note: This might also just be a dummy URL to . specification $pointer = $self->specification; $self = $self->specification(Mojo::JSON::Pointer->new({})); Holds a Mojo::JSON::Pointer object containing the Swagger 2.0 schema . tree $pointer = $self->tree; $self = $self->tree(Mojo::JSON::Pointer->new({})); Holds a Mojo::JSON::Pointer object containing your API specification. ua $ua = $self->ua; $self = $self->ua(Mojo::UserAgent->new); A Mojo::UserAgent used to fetch remote documentation. url $mojo_url = $self->url; Mojo::URL object that holds the location to the documentation file. This can be both a location on disk or an URL to a server. A remote resource will be fetched using Mojo::UserAgent. METHODS expand $swagger = $self->expand; This method returns a new "Swagger2" object, where all the references are resolved. load $self = $self->load; $self = $self->load($url); Used to load the content from $url or "url". This method will try to guess the content type (JSON or YAML) by looking at the filename, URL path or "Content-Type" header reported by a web server. new $self = Swagger2->new($url); $self = Swagger2->new(%attributes); $self = Swagger2->new(\%attributes); Object constructor. pod $pod_object = $self->pod; Returns a Swagger2::POD object. to_string $json = $self->to_string; $json = $self->to_string("json"); $yaml = $self->to_string("yaml"); This method can transform this object into Swagger spec. validate @errors = $self->validate; Will validate this object against the "specification", and return a list with all the errors found. See also "validate" in Swagger2::SchemaValidator. COPYRIGHT AND LICENSE Copyright (C) 2014, 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 - "jhthorsen@cpan.org"