学习 Scala 并尝试重构以下两个函数以删除重复的逻辑。我应该创建一个高阶函数还是其他东西以避免重复代码?有更多类似的方法和这样的重复代码,只是在调用不同的域方法上有所不同。
对重构有点困惑。使用 Scala 2.10 版
def authenticate = Action(parse.json) { request =>
val json = request.body
val input = Json.fromJson[User](json)
input.asOpt match {
case Some(m: User) => Ok(Domain.authenticate(m)).as("application/json")
case None => Ok("bad input")
}
}
def addUser = Action(parse.json) { request =>
val json = request.body
val input = Json.fromJson[User](json)
input.asOpt match {
case Some(m: User) => Ok(Domain.addUser(m)).as("application/json")
case None => Ok("bad input")
}
}