Как неограничить спрей jsonFormat
Я реализую некоторый оставшийся API, который использует Spray и Akka. API должен предоставлять своего рода CRUD пользователя. Я буду использовать только создать пользователя в этом вопросе ...
case class User(id:String, name:String)
case class Register(user:User, registrationId:String)
trait DefaultJsonFormats extends DefaultJsonProtocol with SprayJsonSupport with MetaMarshallers {}
class RegistrationService(registration: ActorRef)
(implicit executionContext: ExecutionContext)
extends Directives with DefaultJsonFormats {
implicit val timeout = Timeout(2.seconds)
implicit val userFormat = jsonFormat3(User)
implicit val registerFormat = jsonFormat1(Register)
implicit val registeredFormat = jsonFormat1(Registered)
val route =
path("register") {
post { handleWith { ru: Register => (registration ? ru).mapTo[Registered] } }
}
Теперь предположим, что класс User имеет 30 полей, но jsonFormat30 (...) не существует. Как я могу использовать такие импликации для любого объекта класса case?