Connessione a FaunaDB in Kotlin
Nell'articolo di oggi vediamo come connetterci a FaunaDB con Kotlin.
Per l'interrogazione del db useremo FQL.
Do per scontato la creazione della collection, dell'index e dell'API KEY.
Se usate Maven aggiungete questa dipendenza:
<dependency>
<groupId>com.faunadb</groupId>
<artifactId>faunadb-java</artifactId>
<version>4.2.0</version>
<scope>compile</scope>
</dependency>
Qui sotto il codice:
import com.faunadb.client.FaunaClient
import com.faunadb.client.query.Language
import com.faunadb.client.types.Value
import java.io.IOException
import java.util.concurrent.ExecutionException
fun main(args: Array<String>) {
val key = "API_KEY"
val endPoint = "https://db.fauna.com/"
try {
val client = FaunaClient.builder()
.withSecret(key)
.withEndpoint(endPoint)
.build()
val value = client.query(
Language.Map(
Language.Paginate(
Language.Match(Language.Index("allMusica"))
).size(9999),
Language.Lambda("X", Language.Get(Language.Var("X")))
)
).get()
val allDocuments = value.at("data").asCollectionOf(
Value::class.java
).get()
for (current in allDocuments) {
val titolo = current.at("data", "titolo").to(String::class.java).get()
val autore = current.at("data", "autore").to(String::class.java).get()
println("titolo= $titolo")
println("autore= $autore")
}
} catch (ex: ExecutionException) {
println(ex.message)
} catch (ex: InterruptedException) {
println(ex.message)
} catch (ex: IOException) {
println(ex.message)
}
}
Eseguiamo la query, e poi trasformiamo il JSON in un oggetto Collection.
Dopo di che iteriamo sulla collezione, ed estraiamo i dati che ci interessano.
Enjoy!
kotlin faunadb fql json collection maven
Commentami!