@@ -131,11 +131,16 @@ class ApiConverter(
131
131
132
132
private fun createEndpoint (path : String , operation : Operation , dataTypes : DataTypes , resolver : RefResolver ): Endpoint ? {
133
133
return try {
134
- val ctx = ConverterContext (path, dataTypes, resolver)
134
+ val ctx = ApiConverterContext (
135
+ path,
136
+ operation.getMethod(),
137
+ dataTypes,
138
+ resolver
139
+ )
135
140
136
- val parameters = collectParameters(operation, ctx)
137
- val requestBodies = collectRequestBodies(operation, ctx)
138
- val responses = collectResponses (operation, ctx)
141
+ val parameters = collectParameters(operation.getParameters() , ctx)
142
+ val requestBodies = collectRequestBodies(operation.getRequestBody() , ctx)
143
+ val responses = collectResponses (operation.getResponses() , ctx)
139
144
140
145
val ep = Endpoint (
141
146
path,
@@ -164,24 +169,19 @@ class ApiConverter(
164
169
}
165
170
}
166
171
167
- data class ConverterContext (
168
- val path : String ,
169
- val dataTypes : DataTypes ,
170
- val resolver : RefResolver )
171
-
172
- private fun collectParameters (operation : Operation , ctx : ConverterContext ): List <ModelParameter > {
173
- val parameters: MutableList <ModelParameter > = mutableListOf ()
172
+ private fun collectParameters (parameters : List <Parameter >, ctx : ApiConverterContext ): List <ModelParameter > {
173
+ val resultParameters: MutableList <ModelParameter > = mutableListOf ()
174
174
175
- operation.getParameters() .forEach {
176
- parameters .add(createParameter(operation, it, ctx))
175
+ parameters .forEach {
176
+ resultParameters .add(createParameter(it, ctx))
177
177
}
178
178
179
- val addMappings = getAdditionalParameterMappings (ctx.path, operation.getMethod() )
179
+ val addMappings = getAdditionalParameterMappings (ctx.path, ctx.method )
180
180
addMappings.forEach {
181
- parameters .add (createAdditionalParameter (it))
181
+ resultParameters .add (createAdditionalParameter (it))
182
182
}
183
183
184
- return parameters
184
+ return resultParameters
185
185
}
186
186
187
187
private fun getAdditionalParameterMappings (path : String , method : HttpMethod ): List <AddParameterTypeMapping > {
@@ -190,8 +190,7 @@ class ApiConverter(
190
190
191
191
data class RequestBodies (val bodies : List <ModelRequestBody >, val parameters : List <ModelParameter >)
192
192
193
- private fun collectRequestBodies (operation : Operation , ctx : ConverterContext ): RequestBodies {
194
- val requestBody = operation.getRequestBody()
193
+ private fun collectRequestBodies (requestBody : RequestBody ? , ctx : ApiConverterContext ): RequestBodies {
195
194
if (requestBody == null ) {
196
195
return RequestBodies (emptyList(), emptyList())
197
196
}
@@ -201,8 +200,8 @@ class ApiConverter(
201
200
202
201
requestBody.getContent().forEach { (contentType, mediaType) ->
203
202
val info = SchemaInfo (
204
- SchemaInfo .Endpoint (ctx.path, operation.getMethod() ),
205
- getInlineRequestBodyName (ctx.path, operation.getMethod() ),
203
+ SchemaInfo .Endpoint (ctx.path, ctx.method ),
204
+ getInlineRequestBodyName (ctx.path, ctx.method ),
206
205
" " ,
207
206
mediaType.getSchema(),
208
207
ctx.resolver)
@@ -217,31 +216,28 @@ class ApiConverter(
217
216
return RequestBodies (bodies, params)
218
217
}
219
218
220
- private fun collectResponses (operation : Operation , ctx : ConverterContext ): Map <String , List <ModelResponse >> {
221
- val responses: MutableMap <String , List <ModelResponse >> = mutableMapOf ()
222
-
223
- val opResponses = operation.getResponses()
219
+ private fun collectResponses (responses : Map <HttpStatus , Response >, ctx : ApiConverterContext ): Map <String , List <ModelResponse >> {
220
+ val resultResponses: MutableMap <String , List <ModelResponse >> = mutableMapOf ()
224
221
225
- val resultStyle = getResultStyle(ctx.path, operation.getMethod() )
226
- val responseCollector = ContentTypeResponseCollector (opResponses , resultStyle)
227
- val interfaceCollector = ContentTypeInterfaceCollector (ctx.path, operation.getMethod() , responseCollector)
222
+ val resultStyle = getResultStyle(ctx.path, ctx.method )
223
+ val responseCollector = ContentTypeResponseCollector (responses , resultStyle)
224
+ val interfaceCollector = ContentTypeInterfaceCollector (ctx.path, ctx.method , responseCollector)
228
225
229
- opResponses .forEach { (httpStatus, httpResponse) ->
226
+ responses .forEach { (httpStatus, httpResponse) ->
230
227
val results = createResponses(
231
- operation,
232
228
httpStatus,
233
229
httpResponse,
234
230
ctx)
235
231
236
- responses [httpStatus] = results
232
+ resultResponses [httpStatus] = results
237
233
}
238
234
239
- return responses
235
+ return resultResponses
240
236
}
241
237
242
- private fun createParameter (op : Operation , parameter : Parameter , ctx : ConverterContext ): ModelParameter {
238
+ private fun createParameter (parameter : Parameter , ctx : ApiConverterContext ): ModelParameter {
243
239
val info = SchemaInfo (
244
- SchemaInfo .Endpoint (ctx.path, op.getMethod() ),
240
+ SchemaInfo .Endpoint (ctx.path, ctx.method ),
245
241
parameter.getName(),
246
242
" " ,
247
243
parameter.getSchema(),
@@ -337,10 +333,10 @@ class ApiConverter(
337
333
return parameters
338
334
}
339
335
340
- private fun createResponses (operation : Operation , httpStatus : String , response : Response , ctx : ConverterContext ): List <ModelResponse > {
336
+ private fun createResponses (httpStatus : String , response : Response , ctx : ApiConverterContext ): List <ModelResponse > {
341
337
if (response.getContent().isEmpty()) {
342
338
val info = SchemaInfo (
343
- SchemaInfo .Endpoint (ctx.path, operation.getMethod() ),
339
+ SchemaInfo .Endpoint (ctx.path, ctx.method ),
344
340
" " ,
345
341
" " ,
346
342
NullSchema ,
@@ -358,8 +354,8 @@ class ApiConverter(
358
354
val schema = mediaType.getSchema()
359
355
360
356
val info = SchemaInfo (
361
- SchemaInfo .Endpoint (ctx.path, operation.getMethod() ),
362
- getInlineResponseName (ctx.path, operation.getMethod() , httpStatus),
357
+ SchemaInfo .Endpoint (ctx.path, ctx.method ),
358
+ getInlineResponseName (ctx.path, ctx.method , httpStatus),
363
359
contentType,
364
360
schema,
365
361
ctx.resolver)
0 commit comments