Creare un client HTTP in Kotlin con Vert.x
Abbiamo già parlato di Vert.x, guardando alla parte server.
Ma Vert.x dispone anche di una parte client, con la quale creare delle richieste HTTP e HTTP/2.
Oggi vediamo un esempio in Kotlin; non esploreremo tutte le possibilità, visto che la libreria è molto completa.
Prima di tutto aggiungiamo una dipendenza a Maven (se lo usate):
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-web-client</artifactId>
<version>3.8.3</version>
</dependency>
Questo il codice di esempio:
import io.vertx.core.Vertx
import io.vertx.ext.web.client.WebClient
import io.vertx.ext.web.client.WebClientOptions
import io.vertx.ext.web.codec.BodyCodec
fun main(args: Array<String>) {
val vertx = Vertx.vertx()
val options = WebClientOptions()
.setUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0")
options.isKeepAlive = false
val client = WebClient.create(vertx, options)
client.get(80, "www.sito.com", "/api/get.php")
.send { ar ->
if (ar.succeeded()) {
val response = ar.result()
val body = response.body()
println(response.statusCode())
println(body)
} else {
println("ERRORE: " + ar.cause().message)
}
}
}
Fate qualche esperimento riferendovi alla documentazione che è ben fatta.
Enjoy!
kotlin vertx webclient
Commentami!