小编Hen*_*dri的帖子

Action(parser.json)vs Action.async错误,并使用concurrent.Execution.Implicits make无法在Play Scala中初始化类控制器

我正在尝试使用以下方法创建一个向mongoddb插入数据的帖子请求:1.sbt 0.13.6 2.播放2.10 3. scala 2.11.2 4. play2-reactivamongo 0.10.2 5. mongodb 2.6.4

数据由json发布,并为模型创建一个case类,并使用JSPath将json转换为实体类.

这是我的示例代码:

def inserTransaction = Action(parser.json) { implicit request =>

   val json = request.body
   val data = json.as[Transaction]
   Logger.info(data.toString)
   val future = collection.insert(data.copy(id = Option[BSONObjectID](BSONObjectID.generate)))
   var result = ""

   future.onComplete {
     case Failure(t) => result = "An error has occured: " + t.getMessage
     case Success(post) => result = "success"
   }
   Ok(result)
}
Run Code Online (Sandbox Code Playgroud)

我已经看到一些示例代码使用Action.sync来处理控制器中的异步,但是当我尝试使用Action.sync时,我的Intellij IDE检测到错误"无法将Action.sync解析为签名",我试图改变像这样的功能的结果

future.onComplete {
    case Failure(t) => Ok("An error has occured: " + t.getMessage)
    case Success(post) …
Run Code Online (Sandbox Code Playgroud)

json asynchronous scala playframework play-reactivemongo

0
推荐指数
1
解决办法
1651
查看次数