При написании инфраструктуры RPC нам нужно кодировать класс Request и Response, вот мой класс Request:
trait Servicable {} // a marking Trait for the services
case class Request[T <: Servicable](
id: String,
serviceClazz: Class[T],
methodName: String,
paramTypes: Vector[Class[_]],
params: Vector[_ <: Object]
)
Так что мне интересно, как сериализовать / десериализовать классы, подобные этому? Суть в том, что circe
, по-видимому, не предоставляет кодек для java.lang.Class[T]
, и сериализация / десериализация объектов динамического универсального сбора, таких как Vector[_ <: Object]
, также затруднена.
Кто-нибудь может мне помочь?