Возможно использовать Kotlin Deferred для возврата приостановленного результата выполнения REST запроса?

Возможно использовать Deferred в Kotlin для возврата приостановленного результата выполнения REST запроса?

Если да, то как это делать без ошибок?

Я сделал такую конечную точку на Kottlin, Quarkus:

import jakarta.validation.Valid
import jakarta.ws.rs.Consumes
import jakarta.ws.rs.POST
import jakarta.ws.rs.Path
import jakarta.ws.rs.Produces
import jakarta.ws.rs.core.MediaType
import kotlinx.coroutines.CompletableDeferred
import kotlinx.coroutines.Deferred
@Path("/test")
class TestDeferredResult {

    @POST
    @Path("/deferred")
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    fun test(@Valid rq: String): Deferred<String> {
        val res: Deferred<String> = CompletableDeferred("Result for request:" + rq)
        return res
    }
}

Получаю ошибку при возврате результата:

HTTP Request to /test/deferred failed, error id: eaf0a221-f5c2-4663-87ce-e8611f8618d2-1: java.lang.RuntimeException: java.lang.ClassNotFoundException: kotlinx.atomicfu.AtomicRef


Ответы (0 шт):