我正在尝试创建一个宁静的方法来更新数据库中的数据,我在 Play 上使用 Scala!框架。我有一个名为 Application 的模型,我希望能够更新数据库中的应用程序。所以 put 请求只需要你要更新的应用程序的 id,然后是你要更新的可选属性。
所以在我的路线中,我有这个:
PUT /v1/auth/application controllers.Auth.update_application(id: Long)
我目前的方法是这样的:
def update_application(id: Long) = Action { implicit request =>
var app = Application.find(id)
for((key, value) <- request.queryString) {
app."$key" = value(0)
//app.name = value(0)
}
val update = Application.update(id, app)
Ok(generate(
Map(
"status" -> "success",
"data" -> update
)
)).as("application/json")
}
在上面的方法中,我将请求和应用对象作为地图实例进行循环,然后使用模型更新要更新的应用模型。我知道有一种更简单的方法是将请求字符串创建为映射并仅遍历对象,但我这样做是为了学习目的。我是 and 的新手Play!
,Scala
刚接触一周。
有没有办法以这种方式动态地使用变量设置属性?在循环结束的上述方法中,我将如何在Groovy
. 所以我正在寻找 Scala 中的等价物。如果 Scala 不能做到这一点,那么完成这项任务的最佳方法是什么?Reflection
? 我不想让事情过于复杂