@@ -131,11 +131,16 @@ class ApiConverter(
131131
132132 private fun createEndpoint (path : String , operation : Operation , dataTypes : DataTypes , resolver : RefResolver ): Endpoint ? {
133133 return try {
134- val ctx = ConverterContext (path, dataTypes, resolver)
134+ val ctx = ApiConverterContext (
135+ path,
136+ operation.getMethod(),
137+ dataTypes,
138+ resolver
139+ )
135140
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)
139144
140145 val ep = Endpoint (
141146 path,
@@ -164,24 +169,19 @@ class ApiConverter(
164169 }
165170 }
166171
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 ()
174174
175- operation.getParameters() .forEach {
176- parameters .add(createParameter(operation, it, ctx))
175+ parameters .forEach {
176+ resultParameters .add(createParameter(it, ctx))
177177 }
178178
179- val addMappings = getAdditionalParameterMappings (ctx.path, operation.getMethod() )
179+ val addMappings = getAdditionalParameterMappings (ctx.path, ctx.method )
180180 addMappings.forEach {
181- parameters .add (createAdditionalParameter (it))
181+ resultParameters .add (createAdditionalParameter (it))
182182 }
183183
184- return parameters
184+ return resultParameters
185185 }
186186
187187 private fun getAdditionalParameterMappings (path : String , method : HttpMethod ): List <AddParameterTypeMapping > {
@@ -190,8 +190,7 @@ class ApiConverter(
190190
191191 data class RequestBodies (val bodies : List <ModelRequestBody >, val parameters : List <ModelParameter >)
192192
193- private fun collectRequestBodies (operation : Operation , ctx : ConverterContext ): RequestBodies {
194- val requestBody = operation.getRequestBody()
193+ private fun collectRequestBodies (requestBody : RequestBody ? , ctx : ApiConverterContext ): RequestBodies {
195194 if (requestBody == null ) {
196195 return RequestBodies (emptyList(), emptyList())
197196 }
@@ -201,8 +200,8 @@ class ApiConverter(
201200
202201 requestBody.getContent().forEach { (contentType, mediaType) ->
203202 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 ),
206205 " " ,
207206 mediaType.getSchema(),
208207 ctx.resolver)
@@ -217,31 +216,28 @@ class ApiConverter(
217216 return RequestBodies (bodies, params)
218217 }
219218
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 ()
224221
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)
228225
229- opResponses .forEach { (httpStatus, httpResponse) ->
226+ responses .forEach { (httpStatus, httpResponse) ->
230227 val results = createResponses(
231- operation,
232228 httpStatus,
233229 httpResponse,
234230 ctx)
235231
236- responses [httpStatus] = results
232+ resultResponses [httpStatus] = results
237233 }
238234
239- return responses
235+ return resultResponses
240236 }
241237
242- private fun createParameter (op : Operation , parameter : Parameter , ctx : ConverterContext ): ModelParameter {
238+ private fun createParameter (parameter : Parameter , ctx : ApiConverterContext ): ModelParameter {
243239 val info = SchemaInfo (
244- SchemaInfo .Endpoint (ctx.path, op.getMethod() ),
240+ SchemaInfo .Endpoint (ctx.path, ctx.method ),
245241 parameter.getName(),
246242 " " ,
247243 parameter.getSchema(),
@@ -337,10 +333,10 @@ class ApiConverter(
337333 return parameters
338334 }
339335
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 > {
341337 if (response.getContent().isEmpty()) {
342338 val info = SchemaInfo (
343- SchemaInfo .Endpoint (ctx.path, operation.getMethod() ),
339+ SchemaInfo .Endpoint (ctx.path, ctx.method ),
344340 " " ,
345341 " " ,
346342 NullSchema ,
@@ -358,8 +354,8 @@ class ApiConverter(
358354 val schema = mediaType.getSchema()
359355
360356 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),
363359 contentType,
364360 schema,
365361 ctx.resolver)
0 commit comments