circe json自动派生用于具有mixin特征或其他选项的案例类

时间:2017-01-17 10:24:43

标签: json scala circe

我使用circe一段时间,当你在标准示例中工作时,一切都很好。认为我正在努力的一件事是在处理案例类时获得更多的可重用性。这是一个案例:

trait EntityResponse extends Entity
{
  def meta: MetaEntityResponse
}

case class GetProductResponse(id: Int,
                              name: String,                              
                              price: BigDecimal
                             )
case class GetProductListResponse(items: Seq[GetProductResponse],
                                  meta: MetaPaging)

我在多个上下文中使用GetProductResponse作为示例:
1.如果我退回一个独立的产品,我想混合EntityResponse
2.当我返回产品列表时,我不需要为每个产品添加mixin,因为它在列表对象上添加了

也许有更好的方法可以做到这一点,只要我不必复制相同的案例类两次1使用特征而1则没有它,这似乎是此时唯一的选择。

0 个答案:

没有答案