我正在尝试使用喷涂路由设置基本服务器,并希望使用一种类型来表示其中一种形式的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?你甚至可以将类型作为参数传递给函数吗?