为什么喷涂路由formFields采用val而不是类型

时间:2015-07-16 20:07:08

标签: scala spray spray-dsl

我正在尝试使用喷涂路由设置基本服务器,并希望使用一种类型来表示其中一种形式的PUT。

我正在使用documentation

中所述的formFields('some, 'fields).as(Thing)表示法

乍一看,我假设.as正在采用类型并使用fromFields中定义的输入实例化该类型的对象。

我的例子是这样构建的:

type UpdatePasswordRequest = Tuple3[String, String, String]

startServer(interface, port) {
  path("user" / IntNumber) { userEmail =>
    put {
      formFields('password, 'password2, 'key).as(UpdatePasswordRequest) { req =>
        //...
      }
    }
  } 
}

在得到相当混乱的错误之后,它无法解析符号UpdatePasswordRequest,我将其从type更改为val并至少编译。

这里发生了什么?为什么期待val?你甚至可以将类型作为参数传递给函数吗?

0 个答案:

没有答案