Json Serialization/Deserialization Implicits
Json serialization/deserialization implicits
Data Client Base Library uses common Scala case classes to serialize/deserialize
json objects. To support this feature you need to import a lot of implicits. We
grouped up all of them to the union file
com.here.platform.data.client.base.generated.codecs.JsonSupport. Now, to
provide all implicits which are needed to serialize or deserialize case classes
for library requests, all you need is just to import everything from this file
like this:
import com.here.platform.data.client.base.generated.codecs.JsonSupport._This is how a simple application with json serialization/deserialization should look like if you would like to use Scala's global execution context. Of course, you can define your own execution context if needed. Also, you can define your own encoders/decoders, but we highly suggest using the ones that come with the library as in this example:
import com.here.platform.data.client.base.generated.codecs.JsonSupport._
import com.here.platform.data.client.base.generated.scaladsl.api.metadata.MetadataApi
import com.here.platform.data.client.base.generated.scaladsl.model.metadata.{CatalogVersion, Dependencies}
import com.here.platform.data.client.base.scaladsl.BaseClient
import scala.concurrent.ExecutionContext.Implicits.global
object Test extends App {
val baseClient = BaseClient()
val metadataApi = baseClient.of[MetadataApi]
val catalogHrn1 = ???
val catalogHrn2 = ???
val request = Dependencies(Some(Seq(CatalogVersion(catalogHrn1, 1L))))
val response = metadataApi.compatibleVersions(catalogHrn2, request)
println(response.toEntity())
}Updated 21 days ago