@@ -133,22 +133,21 @@ class ApiConverter(
133
133
134
134
val parameters = collectParameters(operation, ctx)
135
135
val requestBodies = collectRequestBodies(operation, ctx)
136
+ val responses = collectResponses (operation, ctx)
136
137
137
138
val ep = Endpoint (
138
139
path,
139
140
operation.getMethod(),
140
141
parameters + requestBodies.parameters,
141
142
requestBodies.bodies,
143
+ responses,
142
144
operation.getOperationId(),
143
145
operation.isDeprecated(),
144
146
Documentation (
145
147
summary = operation.summary,
146
148
description = operation.description
147
- )
148
- )
149
+ ))
149
150
150
- collectResponses (operation.getResponses(), ep, dataTypes, resolver)
151
- ep.initEndpointResponses ()
152
151
checkSuccessResponse(ep)
153
152
ep
154
153
} catch (e: UnknownDataTypeException ) {
@@ -216,17 +215,20 @@ class ApiConverter(
216
215
return RequestBodies (bodies, params)
217
216
}
218
217
219
- private fun collectResponses (responses : Map <String , Response >, ep : Endpoint , dataTypes : DataTypes , resolver : RefResolver ) {
220
- responses.forEach { (httpStatus, httpResponse) ->
218
+ private fun collectResponses (operation : Operation , ctx : ConverterContext ): Map <String , List <ModelResponse >> {
219
+ val responses: MutableMap <String , List <ModelResponse >> = mutableMapOf ()
220
+
221
+ operation.getResponses().forEach { (httpStatus, httpResponse) ->
221
222
val results = createResponses(
222
- ep ,
223
+ operation ,
223
224
httpStatus,
224
225
httpResponse,
225
- dataTypes,
226
- resolver)
226
+ ctx)
227
227
228
- ep.addResponses ( httpStatus, results)
228
+ responses[ httpStatus] = results
229
229
}
230
+
231
+ return responses
230
232
}
231
233
232
234
private fun createParameter (op : Operation , parameter : Parameter , ctx : ConverterContext ): ModelParameter {
@@ -327,11 +329,14 @@ class ApiConverter(
327
329
return parameters
328
330
}
329
331
330
- private fun createResponses (ep : Endpoint , httpStatus : String , response : Response , dataTypes : DataTypes , resolver : RefResolver ): List <ModelResponse > {
332
+ private fun createResponses (operation : Operation , httpStatus : String , response : Response , ctx : ConverterContext ): List <ModelResponse > {
331
333
if (response.getContent().isEmpty()) {
332
334
val info = SchemaInfo (
333
- SchemaInfo .Endpoint (ep.path, ep.method),
334
- " " , " " , nullSchema, resolver)
335
+ SchemaInfo .Endpoint (ctx.path, operation.getMethod()),
336
+ " " ,
337
+ " " ,
338
+ nullSchema,
339
+ ctx.resolver)
335
340
336
341
val dataType = NoneDataType ()
337
342
val singleDataType = singleDataTypeWrapper.wrap (dataType, info)
@@ -345,13 +350,13 @@ class ApiConverter(
345
350
val schema = mediaType.getSchema()
346
351
347
352
val info = SchemaInfo (
348
- SchemaInfo .Endpoint (ep .path, ep.method ),
349
- getInlineResponseName (ep .path, ep.method , httpStatus),
353
+ SchemaInfo .Endpoint (ctx .path, operation.getMethod() ),
354
+ getInlineResponseName (ctx .path, operation.getMethod() , httpStatus),
350
355
contentType,
351
356
schema,
352
- resolver)
357
+ ctx. resolver)
353
358
354
- val dataType = convertDataType(info, dataTypes)
359
+ val dataType = convertDataType(info, ctx. dataTypes)
355
360
val changedType = if (! info.isArray ()) { // todo fails if ref
356
361
singleDataTypeWrapper.wrap(dataType, info)
357
362
} else {
0 commit comments