11package com.papsign.ktor.openapigen.parameters.handlers
22
33import com.papsign.ktor.openapigen.OpenAPIGen
4+ import com.papsign.ktor.openapigen.annotations.mapping.remapOpenAPINames
5+ import com.papsign.ktor.openapigen.annotations.mapping.openAPIName
46import com.papsign.ktor.openapigen.annotations.parameters.HeaderParam
57import com.papsign.ktor.openapigen.annotations.parameters.PathParam
68import com.papsign.ktor.openapigen.annotations.parameters.QueryParam
@@ -20,19 +22,19 @@ import kotlin.reflect.KParameter
2022import kotlin.reflect.full.findAnnotation
2123import kotlin.reflect.full.withNullability
2224
23- class ModularParameterHander <T >(val parsers : Map <KParameter , Builder <* >>, val constructor : KFunction <T >) :
25+ class ModularParameterHandler <T >(val parsers : Map <KParameter , Builder <* >>, val constructor : KFunction <T >) :
2426 ParameterHandler <T > {
2527
2628 override fun parse (parameters : Parameters , headers : Headers ): T {
27- return constructor .callBy(parsers.mapValues { it.value.build(it.key.name!! , parameters.toMap() + headers.toMap()) })
29+ return constructor .callBy(parsers.mapValues { it.value.build(it.key.name.toString(), it.key.remapOpenAPINames( parameters.toMap() + headers.toMap() )) })
2830 }
2931
3032 override fun getParameters (apiGen : OpenAPIGen , provider : ModuleProvider <* >): List <ParameterModel <* >> {
3133 val schemaBuilder = provider.ofClass<FinalSchemaBuilderProviderModule >().last().provide(apiGen, provider)
3234
3335 fun createParam (param : KParameter , `in `: ParameterLocation , config : (ParameterModel <* >) -> Unit ): ParameterModel <* > {
3436 return ParameterModel <Any >(
35- param.name .toString(),
37+ param.openAPIName .toString(),
3638 `in `,
3739 ! param.type.isMarkedNullable
3840 ).also {
0 commit comments