데이터베이스의 데이터를 업데이트하는 데 편리한 방법을 만들고 있는데, Scala on Play를 사용하고 있습니다! 뼈대. Application이라는 모델이 있는데 데이터베이스의 응용 프로그램을 업데이트 할 수 있어야합니다. 따라서 put 요청에는 업데이트 할 응용 프로그램의 ID와 업데이트 할 선택적 속성 만 필요합니다. 내가 요청과 같은 응용 프로그램 객체를 통해 반복하고 위의 방법scala에서 변수 값을 사용하여 개체의 속성을 설정하십시오.
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")
}
:
PUT /v1/auth/application controllers.Auth.update_application(id: Long)
나는 현재이 방법은 이것이다 : 내 경로에 따라서
나는이 있습니다 지도 인스턴스를 만든 다음 모델을 사용하여 업데이트 할 앱 모델을 업데이트합니다. 더 쉬운 방법은지도로 요청 문자열을 만들고 객체를 반복하는 것입니다.하지만 학습 목적으로이 방법을 사용하고 있습니다. 나는 Play!
과 Scala
으로 간신히 일주일 정도.
변수를 동적으로 사용하여 속성을 설정하는 방법이 있습니까? 루프의 끝 부분에있는 위의 메서드에서 객체의 속성을 업데이트하는 방법은 입니다. 그래서 나는 스칼라에서 이에 상응하는 것을 찾고있다. 스칼라가이를 수행 할 수 없다면,이 작업을 수행하는 최선의 방법은 무엇입니까? Reflection
? 과도하게 복잡하게하고 싶지 않다.