OpenAPI::Generator::From::Pod - Generate openapi definitions from Perl documentation!
You probably want to use it from OpenAPI::Generator's exported subroutine called 'openapi_from':
use OpenAPI::Generator; my $openapi_def = openapi_from(pod => {src => 'Controller.pm'});
But also you can use it directly:
use OpenAPI::Generator::From::Pod; my $generator = OpenAPI::Generator::From::Pod->new; my $openapi_def = $generator->generate({src => 'Controllers/'})
Pod format should look like that:
Some other pod for your package:
=head1 NAME Controller - some info about this package
After header 'OPENAPI' and '=over' OpenAPI definition block starts
=head1 OPENAPI =over 2
List the elements of your OpenAPI definition
=item GET /some/route # define openapi route parameters: ... =item SCHEMA User # define openapi components/schemes element type: object properites: ... =item SECURITY Cookie # define security schema ... =item PARAM userId # define parameter name: userId in: query schema: type: integer
After this '=back' whole OpenAPI block ends
=back
Creates new instance of class
my $generator = OpenAPI::Generator::From::Pod->new
Using just single Perl module
$generator->generate({src => 'Controller.pm'});
Using directory of Perl modules
$generator->generate({src => 'Controllers'});
File path to module/directory of modules to read pod from
Anton Fedotov, <tosha.fedotov.2000 at gmail.com>
<tosha.fedotov.2000 at gmail.com>
Please report any bugs or feature requests to https://github.com/doojonio/OpenAPI-Generator/issues
https://github.com/doojonio/OpenAPI-Generator/issues
You can find documentation for this module with the perldoc command.
perldoc OpenAPI::Generator
This software is Copyright (c) 2021 by Anton Fedotov.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)
To install OpenAPI::Generator, copy and paste the appropriate command in to your terminal.
cpanm
cpanm OpenAPI::Generator
CPAN shell
perl -MCPAN -e shell install OpenAPI::Generator
For more information on module installation, please visit the detailed CPAN module installation guide.