es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Ktor con Koin DI no puede realizar la inyección, falta la clase “clazz”.

Estoy configurando Koin DI en Ktor de esta manera:
– https://insert-koin.io/docs/reference/koin-ktor/ktor/

Pero estoy obteniendo un error: No se proporcionó ningún valor para el parámetro ‘clazz’

Mi implementación se ve así:

import io.ktor.application.*
import io.ktor.routing.*
import org.koin.java.KoinJavaComponent.inject
import services.SomeService

fun Application.registerPropertyRoutes() {
    routing {
        bodySectionRoute() // add more routes for Property page here
    }
}

fun Route.bodySectionRoute() {
    val someService by inject<someservice>()

    get("/bodySection") {
        // business logic can be connected here
    }
}

¿Alguna idea de lo que estoy omitiendo?

Actualización:
Imagen de ejemplo

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el error ocurre porque la función inject no está recibiendo el parámetro necesario clazz, que se utiliza para especificar el tipo de dependencia que se está inyectando.

    Para solucionar esto, puedes intentar cambiar la línea:

    val someService by inject<someservice>()
    

    a:

    val someService = inject<someservice>().value
    

    Esto debería resolver el problema y permitir que la dependencia se inyecte correctamente.

    Además, asegúrate de haber configurado correctamente el módulo Koin en tu aplicación Ktor según se indica en la documentación.

Comments are closed.