Предположим, что следующий код:
sealed trait Action {
def run(): Boolean
}
case class SimpleAction(parameter: String) extends Actions {
// some impl
}
case class ExtendedAction(parameter1: String, parameter2: String) extends Actions {
// some impl
}
Теперь я хочу определить веб-сервис, где можно получить действия. Как я могу упорядочить действие, поскольку это просто черта, а не конкретный тип?
Я нашел это https://github.com/spray/spray-json#providing-jsonformats-for-other-types в Документах. Есть ли более простой способ добиться этого, чем использование этого подхода в сочетании с сопоставлением с образцом?