类型不匹配; 找到:所需对象:play.api.mvc.Result

适度

在下面getOrElse的代码中,出现以下错误:

type mismatch; found : Object required: play.api.mvc.Result

怎么了?我正在使用playframework2.2

def onUnauthorized(request: RequestHeader) =
        Results.BadRequest(Json.obj("error" -> "Invalid signature"))

def withUserSigner(f: User => Request[Map[String, Seq[String]]] => Result) = Action(BodyParsers.parse.urlFormEncoded) {
        request =>
            val userOpt = request.body.get(SRT_ACCESS_KEY).flatMap { email =>
                DB.withConnection { implicit connection =>
                    User.findByEmail(email.mkString).flatMap { user =>
                        getSigner(request.method, request.path, request.body, user)
                    }
                }
            }

            userOpt.map { user =>
                Action(BodyParsers.parse.urlFormEncoded) { request => f(user)(request) }(request)
            }.getOrElse {  *//got error in this line   "type mismatch; found : Object required: play.api.mvc.Result"*
               onUnauthorized(request)
            }
}
瑞安

问题在以下代码段中:

userOpt.map { user =>
  Action(BodyParsers.parse.urlFormEncoded) { request => f(user)(request) }(request)
}.getOrElse {  
  onUnauthorized(request)
}

在您map正在呼叫的呼叫中Action,它只会传回Action而不是Result通过返回的类型getOrElse是一个对象,因为它是两者的共同祖先ResultAction

由于您拥有调用所需的用户和请求f,因此您应该这样做:

userOpt.map { user =>
  f(user)(request)
}.getOrElse {  
  onUnauthorized(request)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

所需对象:play.api.mvc.Result错误

来自分类Dev

播放框架错误:类型不匹配 - 发现 scala.concurrent.Future[play.api.mvc.Result] 需要:play.api.mvc.Result

来自分类Dev

MVC将对象与API匹配

来自分类Dev

Scala:找到类型不匹配,所需单位:布尔

来自分类Dev

类型不匹配、所需节点、找到的字符串

来自分类Dev

Scala-无法使用返回play.api.mvc.Result的方法作为请求的处理程序

来自分类Dev

重载函数的地址与所需类型不匹配

来自分类Dev

类型不匹配; 找到`Message`,需要`T`

来自分类Dev

PropertyInfo GetValue()对象与目标类型不匹配

来自分类Dev

TargetException:对象与目标类型不匹配

来自分类Dev

Excel VBA对象变量类型不匹配

来自分类Dev

Array() 与预期类型“对象”不匹配

来自分类Dev

Scala类型不匹配。找到的类型,必需_ $ 1

来自分类Dev

类型不匹配:无法从元素类型对象转换为Cookie

来自分类Dev

类型的对象与目标类型“ Xamarin.Forms.ContentView”不匹配

来自分类Dev

java上的类型不匹配,无法实例化对象的类型

来自分类Dev

Google Chart API中的数字类型不匹配

来自分类Dev

Wikipedia API JSONP请求阻止了mime类型不匹配

来自分类Dev

使用nifi模板导入API的参数类型不匹配

来自分类Dev

使用any()时出错;在Android中测试所需的不兼容类型:匹配器<视图>已找到:匹配器<Object>

来自分类Dev

在Spring MVC中对@RequestBody使用通用类型时出现“参数类型不匹配”错误

来自分类Dev

类型不匹配,找到Int必需的字符串

来自分类Dev

Scala-类型不匹配;找到Int,必需的String

来自分类Dev

Scala类型不匹配找到Future [A]预期Future [B]

来自分类Dev

类型不匹配; 找到:Int(1)必需:B

来自分类Dev

错误:类型不匹配;找到:Unit.type必需:单位

来自分类Dev

Scala-类型不匹配;找到Int,必需的String

来自分类Dev

类型不匹配,找到Int必需的字符串

来自分类Dev

用于理解的 Scala 返回类型不匹配;找到:单位

Related 相关文章

  1. 1

    所需对象:play.api.mvc.Result错误

  2. 2

    播放框架错误:类型不匹配 - 发现 scala.concurrent.Future[play.api.mvc.Result] 需要:play.api.mvc.Result

  3. 3

    MVC将对象与API匹配

  4. 4

    Scala:找到类型不匹配,所需单位:布尔

  5. 5

    类型不匹配、所需节点、找到的字符串

  6. 6

    Scala-无法使用返回play.api.mvc.Result的方法作为请求的处理程序

  7. 7

    重载函数的地址与所需类型不匹配

  8. 8

    类型不匹配; 找到`Message`,需要`T`

  9. 9

    PropertyInfo GetValue()对象与目标类型不匹配

  10. 10

    TargetException:对象与目标类型不匹配

  11. 11

    Excel VBA对象变量类型不匹配

  12. 12

    Array() 与预期类型“对象”不匹配

  13. 13

    Scala类型不匹配。找到的类型,必需_ $ 1

  14. 14

    类型不匹配:无法从元素类型对象转换为Cookie

  15. 15

    类型的对象与目标类型“ Xamarin.Forms.ContentView”不匹配

  16. 16

    java上的类型不匹配,无法实例化对象的类型

  17. 17

    Google Chart API中的数字类型不匹配

  18. 18

    Wikipedia API JSONP请求阻止了mime类型不匹配

  19. 19

    使用nifi模板导入API的参数类型不匹配

  20. 20

    使用any()时出错;在Android中测试所需的不兼容类型:匹配器<视图>已找到:匹配器<Object>

  21. 21

    在Spring MVC中对@RequestBody使用通用类型时出现“参数类型不匹配”错误

  22. 22

    类型不匹配,找到Int必需的字符串

  23. 23

    Scala-类型不匹配;找到Int,必需的String

  24. 24

    Scala类型不匹配找到Future [A]预期Future [B]

  25. 25

    类型不匹配; 找到:Int(1)必需:B

  26. 26

    错误:类型不匹配;找到:Unit.type必需:单位

  27. 27

    Scala-类型不匹配;找到Int,必需的String

  28. 28

    类型不匹配,找到Int必需的字符串

  29. 29

    用于理解的 Scala 返回类型不匹配;找到:单位

热门标签

归档