компиляции:Реализация неявных Записывает для результата запроса присоединиться ошибки
No Json serializer found for type Seq[(models.Account, models.Company)]. Try to implement an implicit Writes or Format for this type.
Как я могу определить неявное пишет в результате присоединения запроса?
Контроллер:
def someEndpoint = Action.async { implicit request =>
val query = for {
a <- accounts if a.id === 10
c <- companies if a.companyID === c.id
} yield (a, c)
db.run(query.result).map(rows => Ok(Json.toJson(rows))) // Causes compilation error
}
Каждый из моих моделей (счета и компании) имеют свои собственные неявные пишет (здесь компания одна):
case class Company(id: Int, name: String)
object Company {
implicit val writes = new Writes[Company] {
def writes(company: Company): JsValue = {
Json.obj(
"id" -> company.id,
"name" -> company.name
)
}
}
}
Можно динамически обрабатывать сериализации для соединений? У меня есть много вещей, с которыми я буду объединять ... Нужно ли мне явно определять writes
для каждой комбинации?
Как получить запрос для возврата карты вместо кортежа? – Tyler
Вы можете сделать это в своем понимании урока Map («account» -> Json.toJson (a) »,« company »-> Json.toJson (c)) или сопоставить строки и создать карту только при создании ответа. –