Get request to Ktor Location results in an Unhandled request

Viewed 556

I just want to use the Locations Feature of Ktor for my API and I tested it with two simple get requests. The problem is that Ktor seems to ignore my @Locations and if I use the Logging feature it says that the request is unhandled:

TRACE Application - Unhandled: GET - /register

My Application class:

import io.ktor.application.*
import io.ktor.features.*
import io.ktor.gson.*
import io.ktor.locations.*
import io.ktor.response.*
import io.ktor.routing.*

fun Application.main() {
    install(Locations)
    install(CallLogging)
    install(ContentNegotiation) {
        gson {
            setPrettyPrinting()
        }
    }
    routing {
        get("/health_check") {
            call.respondText("OK")
        }
        auth()
    }
}

Auth class:

import io.ktor.application.*
import io.ktor.locations.*
import io.ktor.response.*
import io.ktor.routing.*

@Location("/register")
data class Register(val username: String, val email: String, val password: String)

@Location("/login")
data class Login(val username: String, val password: String)

fun Route.auth() {
    get<Register> {
        call.respondText("Register")
    }
    get<Login> {
        call.respondText("Login")
    }
}

I tried to find some information about my problem, but I haven't found any. I thought it might have something to do with the fact that the Locations API of Ktor is still experimental. I hope this is enough information. Thanks in advance.

0 Answers
Related