1+ {
2+ "openapi" : " 3.1.0" ,
3+ "info" : {
4+ "title" : " Example REST API" ,
5+ "version" : " 1.0.0"
6+ },
7+ "components" : {
8+ "schemas" : {
9+ "Address" : {
10+ "type" : " object" ,
11+ "required" : [
12+ " name"
13+ ],
14+ "additionalProperties" : false ,
15+ "properties" : {
16+ "postcode" : {
17+ "type" : " integer" ,
18+ "format" : " int32" ,
19+ "minimum" : 1000 ,
20+ "maximum" : 9999
21+ }
22+ }
23+ },
24+ "Id" : {
25+ "type" : " string"
26+ },
27+ "User" : {
28+ "type" : " object" ,
29+ "required" : [
30+ " name"
31+ ],
32+ "additionalProperties" : false ,
33+ "properties" : {
34+ "name" : {
35+ "type" : " string"
36+ },
37+ "address" : {
38+ "type" : " object" ,
39+ "required" : [
40+ " name"
41+ ],
42+ "additionalProperties" : false ,
43+ "properties" : {
44+ "postcode" : {
45+ "type" : " integer" ,
46+ "format" : " int32" ,
47+ "minimum" : 1000 ,
48+ "maximum" : 9999
49+ }
50+ }
51+ },
52+ "age" : {
53+ "type" : " integer" ,
54+ "format" : " int32" ,
55+ "minimum" : 0
56+ }
57+ }
58+ },
59+ "UpdateUserRequest" : {
60+ "type" : " object" ,
61+ "required" : [
62+ " name"
63+ ],
64+ "additionalProperties" : false ,
65+ "properties" : {
66+ "name" : {
67+ "type" : " string"
68+ },
69+ "address" : {
70+ "type" : " object" ,
71+ "required" : [
72+ " name"
73+ ],
74+ "additionalProperties" : false ,
75+ "properties" : {
76+ "postcode" : {
77+ "type" : " integer" ,
78+ "format" : " int32" ,
79+ "minimum" : 1000 ,
80+ "maximum" : 9999
81+ }
82+ }
83+ },
84+ "age" : {
85+ "type" : " integer" ,
86+ "format" : " int32" ,
87+ "minimum" : 0
88+ }
89+ }
90+ },
91+ "Users" : {
92+ "type" : " array" ,
93+ "uniqueItems" : true ,
94+ "items" : {
95+ "type" : " object" ,
96+ "required" : [
97+ " name"
98+ ],
99+ "additionalProperties" : false ,
100+ "properties" : {
101+ "name" : {
102+ "type" : " string"
103+ },
104+ "address" : {
105+ "type" : " object" ,
106+ "required" : [
107+ " name"
108+ ],
109+ "additionalProperties" : false ,
110+ "properties" : {
111+ "postcode" : {
112+ "type" : " integer" ,
113+ "format" : " int32" ,
114+ "minimum" : 1000 ,
115+ "maximum" : 9999
116+ }
117+ }
118+ },
119+ "age" : {
120+ "type" : " integer" ,
121+ "format" : " int32" ,
122+ "minimum" : 0
123+ }
124+ }
125+ }
126+ }
127+ },
128+ "parameters" : {
129+ "UserId" : {
130+ "name" : " userId" ,
131+ "in" : " path" ,
132+ "required" : true ,
133+ "schema" : {
134+ "type" : " string"
135+ }
136+ }
137+ },
138+ "securitySchemes" : {
139+ "HttpBearerJwtScheme" : {
140+ "type" : " http" ,
141+ "scheme" : " bearer" ,
142+ "bearerFormat" : " JWT"
143+ }
144+ }
145+ },
146+ "paths" : {
147+ "/users" : {
148+ "get" : {
149+ "operationId" : " listUsers" ,
150+ "tags" : [
151+ " user"
152+ ],
153+ "responses" : {
154+ "200" : {
155+ "description" : " User 200 response" ,
156+ "content" : {
157+ "application/json" : {
158+ "schema" : {
159+ "$ref" : " #/components/schemas/Users"
160+ }
161+ }
162+ }
163+ }
164+ }
165+ }
166+ },
167+ "/users/{userId}" : {
168+ "get" : {
169+ "operationId" : " getUserByIdCommand" ,
170+ "tags" : [
171+ " user"
172+ ],
173+ "responses" : {
174+ "200" : {
175+ "description" : " User 200 response" ,
176+ "content" : {
177+ "application/json" : {
178+ "schema" : {
179+ "$ref" : " #/components/schemas/User"
180+ }
181+ }
182+ }
183+ }
184+ }
185+ },
186+ "delete" : {
187+ "operationId" : " deleteUserByIdCommand" ,
188+ "security" : [
189+ {
190+ "HttpBearerJwtScheme" : [
191+ " users.delete"
192+ ]
193+ }
194+ ],
195+ "tags" : [
196+ " user"
197+ ]
198+ },
199+ "head" : {
200+ "operationId" : " checkUserIdAvailableCommand" ,
201+ "security" : [
202+ {}
203+ ],
204+ "tags" : [
205+ " user"
206+ ]
207+ },
208+ "post" : {
209+ "operationId" : " updateUserCommand" ,
210+ "tags" : [
211+ " user"
212+ ],
213+ "requestBody" : {
214+ "description" : " postRequestBody" ,
215+ "content" : {
216+ "application/json" : {
217+ "schema" : {
218+ "$ref" : " #/components/schemas/UpdateUserRequest"
219+ }
220+ }
221+ }
222+ },
223+ "responses" : {
224+ "200" : {
225+ "description" : " " ,
226+ "content" : {
227+ "application/json" : {
228+ "schema" : {
229+ "$ref" : " #/components/schemas/User"
230+ }
231+ }
232+ }
233+ }
234+ }
235+ },
236+ "parameters" : [
237+ {
238+ "$ref" : " #/components/parameters/UserId"
239+ }
240+ ]
241+ }
242+ },
243+ "security" : [
244+ {
245+ "HttpBearerJwtScheme" : []
246+ },
247+ {
248+ "HttpBearerJwtScheme" : [
249+ " users.delete"
250+ ]
251+ },
252+ {}
253+ ]
254+ }
0 commit comments