首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReactiveMongo +播放通用NullPointerException

ReactiveMongo +播放通用NullPointerException
EN

Stack Overflow用户
提问于 2014-12-15 21:47:15
回答 1查看 393关注 0票数 0

我正试图为我的应用程序加入一个非常简单的Mongo模型,但我最初的尝试是徒劳的。我被一个NullPointerException卡住了,我甚至尝试用Try包装我的电话,最后得到一个Success(scala.concurrent.impl.Promise$DefaultPromise@1f02f0b3)

这是密码

代码语言:javascript
复制
  def token = Action.async(parse.json) { request =>
    request.body.validate[Auth].map { creds =>
      UserService.login(creds.username, creds.password).map {
        case Some(context) =>
          val accessToken = TokenResponse(Crypto.generateToken)
          val model = Json.toJson(context)
          val res = Try(collection.insert(model).map(_ => Ok(Json.toJson(accessToken))))
          println(res.toString)
          res.get
        case _ => Future(BadRequest)
      }.flatMap(identity)
    } recoverTotal (request => Future(Unauthorized))
  }

下面是错误(注意在调用堆栈中没有引用我的应用程序):

代码语言:javascript
复制
play.api.Application$$anon$1: Execution exception[[NullPointerException: null]]
    at play.api.Application$class.handleError(Application.scala:296) ~[play_2.11-2.3.6.jar:2.3.6]
    at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.11-2.3.6.jar:2.3.6]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.6.jar:2.3.6]
    at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.6.jar:2.3.6]
    at scala.Option.map(Option.scala:145) [scala-library-2.11.2.jar:na]
Caused by: java.lang.NullPointerException: null
    at reactivemongo.bson.buffer.WritableBuffer$class.writeString(buffer.scala:71) ~[reactivemongo-bson_2.11-0.10.5.0.akka23.jar:0.10.5.0.akka23]
    at reactivemongo.core.netty.ChannelBufferWritableBuffer.writeString(netty.scala:61) ~[reactivemongo_2.11-0.10.5.0.akka23.jar:0.10.5.0.akka23]
    at reactivemongo.bson.buffer.DefaultBufferHandler$BSONStringBufferHandler$.write(bufferhandlers.scala:83) ~[reactivemongo-bson_2.11-0.10.5.0.akka23.jar:0.10.5.0.akka23]
    at reactivemongo.bson.buffer.DefaultBufferHandler$BSONStringBufferHandler$.write(bufferhandlers.scala:82) ~[reactivemongo-bson_2.11-0.10.5.0.akka23.jar:0.10.5.0.akka23]
    at reactivemongo.bson.buffer.DefaultBufferHandler$.serialize(bufferhandlers.scala:227) ~[reactivemongo-bson_2.11-0.10.5.0.akka23.jar:0.10.5.0.akka23]

我试着使用Postman,最后得到了这个引用,但没有多大帮助:

代码语言:javascript
复制
app/controllers/Application.scala:27

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-16 03:50:37

结果是simple...my产生的JSON有空值,而ReactiveMongo不喜欢这样。我将提交一个错误,以优雅的失败,或至少更多的描述。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27493757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档