假设我有一个对象,其方法名为protect
.
这应该采用带有JValue => JValue
(非泛型参数)的函数。
def protect(func: (JValue) => JValue) = {
if (Something.is) {
InMemoryResponse(Array(), Nil, Nil, 200)
} else {
InMemoryResponse(Array(), Nil, Nil, 401)
}
}
我现在如何调用传递其原始参数的函数?
目标是在响应 REST 请求之前检查用户会话是否存在。如果没有,则 a401 Forbidden
将自动返回,如下所示。在这种情况下,我想Users.getUsers
作为参数函数传递,并将限制作为参数传递给函数。
所以在里面protect
,如果Session
存在,该函数将执行并显示。
serve {
case "user" :: limit :: Nil JsonGet _ =>
AuthorizedReq.protect(json => Users.getUsers(limit))