【发布时间】:2018-08-09 11:41:55
【问题描述】:
我正在将 Sangria 用于 Play 应用程序,目前正在努力实现架构定义。问题是,服务没有直接返回所需的对象,它返回一个包含该对象的 EitherT。
这里有一些代码示例
案例类
case class User(name: String, age: Int)
用户服务
def user(): EitherT[Future, AbstractError, User] = {...}
如果服务返回 User 而不是 EitherT[Future, AbstractError, User],我会像这样导出架构:
架构
val UserType = deriveObjectType[UserService, User](
ObjectTypeName("User"),
ObjectTypeDescription("A simple user."))
我是否必须实现一个额外的层来从EitherT 对象中提取User,或者是否有其他方法来处理这种情况?
【问题讨论】:
标签: scala playframework graphql scala-cats sangria