【发布时间】:2016-06-23 12:01:54
【问题描述】:
我正在尝试实现类似的东西
object Claims {
import shapeless._
import shapeless.labelled.FieldType
import io.circe._
import io.circe.generic.semiauto._
import java.util.UUID
type ClaimOf[V] = FieldOf[V]
object iss extends ClaimOf[String]
object subj extends ClaimOf[String]
object aud extends ClaimOf[Set[String]]
object client_id extends ClaimOf[UUID]
implicit val encoder =
deriveEncoder[FieldType[iss.type, String] :: FieldType[subj.type, String] :: HNil]
}
编译不会出错
error: could not find implicit value for parameter encode: shapeless.Lazy[io.circe.generic.encoding.DerivedObjectEncoder[shapeless.::[shapeless.labelled.FieldType[Claims.iss.type,String],shapeless.::[shapeless.labelled.FieldType[Claims.subj.type,String],shapeless.HNil]]]]
deriveEncoder[FieldType[iss.type, String] :: FieldType[subj.type, String] :: HNil]
【问题讨论】: