-
Notifications
You must be signed in to change notification settings - Fork 5
/
simple.petstore.api.yaml
183 lines (183 loc) · 4.95 KB
/
simple.petstore.api.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
swagger: '2.0'
info:
version: '1.0.0'
title: Swagger Petstore (Simple)
description:
A sample API that uses a petstore as an example to demonstrate features in the swagger-2.0 specification
This original specification is augmented with play-swagger specific parts to demonstrate usage of
vendor-specific instructions
termsOfService: http://helloreverb.com/terms/
contact:
name: Swagger API team
email: foo@example.com
url: http://swagger.io
license:
name: MIT
url: http://opensource.org/licenses/MIT
host: localhost:9000
basePath: /petstore
schemes:
- http
consumes:
- application/json
produces:
- application/json
# the x-api-first-error-mapping area is used to define how errors returned by failing methods
# should be mapped to HTTP response codes
# custom defined exceptions must be placed in the same package as a controller
x-api-first-error-mapping:
404:
- java.util.NoSuchElementException
- java.lang.IndexOutOfBoundsException
406:
- java.lang.UnsupportedOperationException
- java.lang.IllegalArgumentException
- java.lang.IllegalStateException
409:
- java.util.ConcurrentModificationException
- java.util.EmptyStackException
500:
- java.sql.SQLException
paths:
/pets:
get:
# the naming convention for the handler method may be overriden using x-api-first-handler
# instruction applyed on URL or VERB level. All handlers MUST belong to the same package
# this x-api-first-handler is valid only for "GET /pets"
"x-api-first-handler": "admin.Dashboard.methodLevel"
description: Returns all pets from the system that the user has access to
operationId: findPets
produces:
- application/json
- application/xml
- text/xml
- text/html
parameters:
- name: tags
in: query
description: tags to filter by
required: false
type: array
items:
type: string
collectionFormat: csv
- name: limit
in: query
description: maximum number of results to return
required: false
type: integer
format: int32
minimum: 1
maximum: 200
responses:
'200':
description: pet response
schema:
type: array
items:
$ref: '#/definitions/pet'
default:
description: unexpected error
schema:
$ref: '#/definitions/errorModel'
post:
# this x-api-first-handler is valid only for "POST /pets"
"x-api-first-handler": "admin.Dashboard.postHandler"
description: Creates a new pet in the store. Duplicates are allowed
operationId: addPet
produces:
- application/json
parameters:
- name: pet
in: body
description: Pet to add to the store
required: true
schema:
$ref: '#/definitions/newPet'
responses:
'200':
description: pet response
schema:
$ref: '#/definitions/pet'
default:
description: unexpected error
schema:
$ref: '#/definitions/errorModel'
/pets/{id}:
# this x-api-first-handler is valid for all verbs of the /pets/{id} URL
"x-api-first-handler": "admin.Dashboard.pathLevel"
get:
description: Returns a user based on a single ID, if the user does not have access to the pet
operationId: findPetById
produces:
- application/json
- application/xml
- text/xml
- text/html
parameters:
- name: id
in: path
description: ID of pet to fetch
required: true
type: integer
format: int64
responses:
'200':
description: pet response
schema:
$ref: '#/definitions/pet'
default:
description: unexpected error
schema:
$ref: '#/definitions/errorModel'
delete:
description: deletes a single pet based on the ID supplied
operationId: deletePet
parameters:
- name: id
in: path
description: ID of pet to delete
required: true
type: integer
format: int64
responses:
'204':
description: pet deleted
default:
description: unexpected error
schema:
$ref: '#/definitions/errorModel'
definitions:
pet:
required:
- id
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
newPet:
required:
- name
properties:
id:
type: integer
format: int64
name:
type: string
tag:
type: string
errorModel:
required:
- code
- message
properties:
code:
type: integer
format: int32
message:
type: string