line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
2
|
|
|
2
|
|
9422
|
% my $a = shift; |
|
2
|
|
|
2
|
|
5
|
|
|
2
|
|
|
|
|
17
|
|
|
2
|
|
|
|
|
209
|
|
|
2
|
|
|
|
|
4
|
|
|
2
|
|
|
|
|
451
|
|
2
|
|
|
|
|
|
|
{ |
3
|
|
|
|
|
|
|
"swagger": "2.0", |
4
|
|
|
|
|
|
|
%# See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#info-object |
5
|
|
|
|
|
|
|
"info": { |
6
|
|
|
|
|
|
|
"version": "1.0", |
7
|
|
|
|
|
|
|
"title": "<%= $a->{api_title} %>", |
8
|
|
|
|
|
|
|
"description": "This is the OpenAPI specification for <%= $a->{api_title} %>.", |
9
|
|
|
|
|
|
|
%# See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#licenseObject |
10
|
|
|
|
|
|
|
"license": { |
11
|
|
|
|
|
|
|
"name": "restricted" |
12
|
|
|
|
|
|
|
}, |
13
|
|
|
|
|
|
|
%# See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#contactObject |
14
|
|
|
|
|
|
|
"contact": {"name":"Company name here", "email":"company_api@example.com"} |
15
|
|
|
|
|
|
|
}, |
16
|
|
|
|
|
|
|
"basePath": "/api", |
17
|
|
|
|
|
|
|
%# See http://localhost:3000/perldoc/Mojolicious/Plugin/OpenAPI/Guides/Tutorial |
18
|
|
|
|
|
|
|
%# These keys are currently not in use (schemes, consumes, produces). |
19
|
|
|
|
|
|
|
"schemes": ["http", "https"], |
20
|
|
|
|
|
|
|
"consumes": ["application/json", "multipart/form-data", "application/x-www-form-urlencoded"], |
21
|
|
|
|
|
|
|
"produces": ["application/json", "text/plain", "text/html"], |
22
|
|
|
|
|
|
|
"definitions":{ |
23
|
|
|
|
|
|
|
%# Here all the definitions will be put, |
24
|
|
|
|
|
|
|
%# already existing definitions in the api.json file will be replaced with |
25
|
|
|
|
|
|
|
%# new ones with the same name |
26
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
"ErrorResponse": { |
28
|
|
|
|
|
|
|
"type": "object", |
29
|
|
|
|
|
|
|
"properties": { |
30
|
|
|
|
|
|
|
"valid": { "type": "boolean" }, |
31
|
|
|
|
|
|
|
"errors:": { "$ref": "#/definitions/Errors" } |
32
|
|
|
|
|
|
|
} |
33
|
|
|
|
|
|
|
}, |
34
|
|
|
|
|
|
|
"Errors": { "items": { "$ref": "#/definitions/Error" }, "type": "array" }, |
35
|
|
|
|
|
|
|
"Error": { |
36
|
|
|
|
|
|
|
"properties": { "path": { "type": "string" }, "message": { "type": "string" } }, |
37
|
|
|
|
|
|
|
"required": [ "message" ] |
38
|
|
|
|
|
|
|
} |
39
|
|
|
|
|
|
|
|
40
|
|
|
|
|
|
|
%# Here will be definitions for each resource, for example: Users, |
41
|
|
|
|
|
|
|
%# GroupsItem, Blog, Product, etc. |
42
|
|
|
|
|
|
|
}, |
43
|
|
|
|
|
|
|
%# end of definitions |
44
|
|
|
|
|
|
|
"parameters": { |
45
|
|
|
|
|
|
|
%# Parameters that can be used across operations. This property does not |
46
|
|
|
|
|
|
|
%# define global parameters for all operations. |
47
|
|
|
|
|
|
|
"limit": { |
48
|
|
|
|
|
|
|
"default": 100, |
49
|
|
|
|
|
|
|
"description": "How many, items to return at once (max: 100; min: 1)", |
50
|
|
|
|
|
|
|
"in": "query", |
51
|
|
|
|
|
|
|
"maximum": 100, |
52
|
|
|
|
|
|
|
"minimum": 1, |
53
|
|
|
|
|
|
|
"name": "limit", |
54
|
|
|
|
|
|
|
"type": "integer" |
55
|
|
|
|
|
|
|
}, |
56
|
|
|
|
|
|
|
"offset": { |
57
|
|
|
|
|
|
|
"default": 0, |
58
|
|
|
|
|
|
|
"description": "At what offset (min: 0)?", |
59
|
|
|
|
|
|
|
"in": "query", |
60
|
|
|
|
|
|
|
"minimum": 0, |
61
|
|
|
|
|
|
|
"name": "offset", |
62
|
|
|
|
|
|
|
"type": "integer" |
63
|
|
|
|
|
|
|
} |
64
|
|
|
|
|
|
|
}, |
65
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
"paths": <%= JSON::PP->new->utf8->encode($a->{api_paths}) %> |
67
|
|
|
|
|
|
|
} |
68
|
|
|
|
|
|
|
|