Возможно использовать 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