У меня есть класс case с некоторым значением val
(которое не является параметром конструктора).Как я могу получить эти поля также в сгенерированном json?
Я использовал Json4s
раньше и использовал FieldSerializer
, который сделал этот трюк.Но не в состоянии получить это с помощью Circe.
Я хочу определить все обязательные поля в признаке, иногда поле может быть частью класса case.Но есть случаи, когда не имеет смысла хранить их как часть case-класса, но все же необходимо в json.Обратите внимание на разницу между EntityWithBodyParams
и AnotherEntity
ниже.
Вот мой пример класса.
trait NamedEntity {
def name:String
}
case class EntityWithBodyParams(id:Long) extends NamedEntity {
override val name:String = "Name"
}
case class AnotherEntity(id:Long, name:String) extends NamedEntity
Ответ после asJson
{
"id" : 100
}
Но мойожидание:
{
"id" : 100,
"name":"Name"
}