#spring-boot #kotlin #spring-webflux #spring-webclient
#весенняя загрузка #kotlin #spring-webflux #spring-webclient
Вопрос:
У меня есть базовое приложение Kotlin Spring, и я хочу выполнить вызов rest для возврата и печати json. У меня есть приведенный ниже код, но каждый раз, когда я выполняю вызов, он возвращает значение null. Это происходит и с другими вызовами rest. Нужно ли мне выполнять вызов другим способом?
fun main(args: Array<String>) {
val app = runApplication<NestpublisherApplication>(*args)
val client = WebClient.create("https://api.kanye.rest")
val type = object : ParameterizedTypeReference<String>() {}
val result : Flux<String> = client.get()
.retrieve()
.bodyToFlux(type)
.doOnNext{println("Iterating through")}
.doOnError { println("ERROR: ${it.message}") }
}
Комментарии:
1. Где вы видите, что он возвращает null?
2.
result
являетсяFlux<String>
. Поток будет иметь результат. Вы можете увидеть это, напечатавresult.blockLast()
3. Это сработало! Если вы опубликуете ответ, я приму его. Спасибо!!
4. блокировка — это плохо, и это плохой ответ.
5. Поскольку вы используете Kotlin, вы также можете использовать сопрограммы. Завершите свой код
runBlocking
и вызовите один изawait...
методов.