4
A
回答
5
你应该看看GlobalSettings
:https://www.playframework.com/documentation/2.3.x/ScalaGlobal
尤其是,它可以让你覆盖:
def onError(request: RequestHeader, ex: Throwable)
def onHandlerNotFound(request: RequestHeader)
def onBadRequest(request: RequestHeader, error: String)
onError
可能是你正在寻找的一个,但其他人可能是太有用:)
5
的另一种方式做,这是使用filter,如:
object ExceptionFilter extends EssentialFilter {
def apply(nextFilter: EssentialAction) = new EssentialAction {
def apply(requestHeader: RequestHeader) = {
val next: Iteratee[Array[Byte], Result] = nextFilter(requestHeader)
// Say your backend throws an ItemNotFound exception.
next recoverWith {
case e: ItemNotFound => Iteratee.ignore[Array[Byte]]
.map(_ => Results.NotFound("Item not in the database!"))
}
}
}
}
然后钩住了在全局设置:
object Global extends WithFilters(CSRFFilter(), ExceptionFilter) with GlobalSettings
这可能允许在需要时您做一些与请求主体。我同意在大多数情况下使用GlobalSettings.onError
可能是最简单的方法。
相关问题
- 1. 播放框架形式错误处理
- 2. 播放框架错误
- 3. 播放框架测试错误
- 4. 播放框架无法识别错误?
- 5. 播放框架依赖注入错误
- 6. 播放框架initial-data.yml解析错误
- 7. Heroku错误运行播放框架2
- 8. JPA @ElementCollection播放框架错误
- 9. 播放框架油滑HikariCP错误
- 10. 构建错误在播放框架
- 11. 播放框架路由错误
- 12. 播放框架重定向错误
- 13. 播放框架2.0控制台错误
- 14. 在fatfree框架中处理错误
- 15. html5视频播放器错误处理
- 16. 如何处理播放框架中的json请求1.2.5
- 17. 开放框架V.S处理
- 18. 每个连接在播放框架2中如何处理?
- 19. 错误处理使用无框架
- 20. 在播放框架中与一对多关系的JPA错误
- 21. 播放框架1.2.4
- 22. 播放框架GUID
- 23. 播放框架db.play.JPA
- 24. 播放框架NoClassDefFoundError
- 25. 播放框架挂
- 26. 播放框架会话管理
- 27. 播放框架:在jQuery/Bootstrap中缺少分号错误JS
- 28. 转换播放框架Java Promise播放框架Scala Promise
- 29. 大型WSDL(播放框架)上的Java内存不足错误
- 30. 播放框架和IntelliJ新项目的创建 - 错误
你看过Scala Future和Play之前的行动/结果吗? – cchantep 2014-08-28 11:46:10
@applicius:我不太清楚你的评论如何解释正确的地方执行*集中*在播放应用程序中的错误处理... – jfu 2014-08-28 11:56:15
我很不确定你有没有阅读Play框架文档关于行动,动作组合,行动构建和使用未来。 – cchantep 2014-08-28 12:01:24