我已经开始使用Play和Play-ReactiveMongo插件并在GET“documentbyid”场景中测试404响应。不幸的是,我得到了这个异常,而不是Play返回404NotFound响应:java.util.NoSuchElementException:JsError.getatplay.api.libs.json.JsError.get(JsResult.scala:11)~[play_2.10.jar:2.1.1]atplay.api.libs.json.JsError.get(JsResult.scala:10)~[play_2.10.jar:2.1.1]atplay.
我已经开始使用Play和Play-ReactiveMongo插件并在GET“documentbyid”场景中测试404响应。不幸的是,我得到了这个异常,而不是Play返回404NotFound响应:java.util.NoSuchElementException:JsError.getatplay.api.libs.json.JsError.get(JsResult.scala:11)~[play_2.10.jar:2.1.1]atplay.api.libs.json.JsError.get(JsResult.scala:10)~[play_2.10.jar:2.1.1]atplay.
我尝试为play-framework写支票并看到两种不同的可能性。我描述了两者并想知道我的理解是否正确(所以它更像是一个教程而不是一个问题,特别是因为我没有得到任何我错过了什么的回应)。那么存在哪些可能性呢。简单的方法:扩展类Check:优点:易写,易读缺点:不能参数化检查,只能定义消息。进阶方式:基于OVal编写检查AbstractAnnotationCheck。优点:可以参数化检查,注解使用更简单缺点:稍微复杂一点。在我们查看实现之前,我想解释一下这些消息。您始终可以直接设置消息或使用键在消息属性中引用消息。最后一种是更清洁和推荐的方式。每个验证至少有1个参数:无效属性的名称。因此
我在分布式环境中部署Play应用程序,由远程MySQL数据库提供支持。具体来说,应用程序托管在heroku上,数据库在AmazonRDS上(尽管这确实适用于任何远程数据库连接)。由于数据库不只是在本地主机上,为了安全起见,我更喜欢通过SSL建立远程MySQL连接。给定一个要信任的CA证书,我如何配置Play应用程序以通过SSL连接到MySQL服务器,前提是主机证书可以验证?假设这是当前的数据库配置:db.default.driver=com.mysql.jdbc.Driverdb.default.url="jdbc:mysql://url.to.database/test_db"db.
我使用PlayFramework2.0(2.0.3)。我有一个Java项目,想读取Build.scala中定义的应用程序版本(appVersion)。我已经看到,可以从提供给Global.java的Application对象中读取某些配置详细信息,但没有找到名为appVersion或类似的键。 最佳答案 您可以在application.conf中定义版本并让Build.scala读取该值。我使用版本号和应用程序名称执行此操作。以下作品在Play2.0中,有更新solutionforPlay2.1.在project/Build.sca
我很好奇有没有人知道Grails或Play等框架如何检测代码中的更改并自动触发重新编译而无需重新启动应用服务器的详细信息?是否有特定于Groovy编译器或其动态特性的东西可以很容易地发生这种情况?作为背景,我在构建过程中有一个自定义代码生成阶段,我希望能够拥有类似的编辑和刷新功能。提前感谢任何指点,即使我必须筛选代码以获得更大的图片。编辑:我应该澄清一下,我并不是要构建一个Grails插件,而是要了解在servlet容器中的任何应用程序中执行此操作需要什么。即,我使用的是Groovy而不是Grails。Edit2:听起来Play有一个特定的DEV模式,可以启用这种热重载:http://
我的应用中有一个添加用户选项。我想将用户传递以哈希格式存储在数据库中。密码以纯文本格式存储在框架附带的示例代码中。经过一番搜索,我发现在play2中实现了Crypto.encryptAES()函数,可用于保护密码。我的问题是使用它的最佳位置是什么?以及如何使用它来创建最可维护的代码? 最佳答案 我个人会在User模型中这样做。我的字段有setter/getter,所以在setPassword方法中:this.password=HashHelper.createPassword(password);Hashhelper只是一个用于多用
我的依赖:compile"com.android.support:appcompat-v7:20.+"compile'com.google.android.gms:play-services:5.2.08'compile'com.android.support:support-v4:21.0.+'但仍然:GooglePlay服务已过时。需要5208000但找到5089036这怎么可能?更新这项工作:compile'com.google.android.gms:play-services:5.0.89'或compile'com.google.android.gms:play-servic
最初的PlayFramework1.x有一个优雅且简单的模块管理系统。与Play存储库相结合,这是使用第三方组件和库快速增强应用程序的好方法。有了Play2.0,情况就大不一样了。如何贡献所谓的“模块”? 最佳答案 引用邮件列表中的GuillaumeBort:modulesarejuststandardsubprojects.[...]nowaseverythingiscompiled,yourmoduleroutesfilemustdefineitsownrouteforcontrollers.Assets.atBytheway,
我正在学习游戏框架,并了解我可以将/manager/user等请求映射为:GET/manage/:userControllers.Application.some(user:String)如何映射像/play/video?video_id=1sh1这样的请求? 最佳答案 你至少有两种可能,我们称它们为approach1和approach2。在第一种方法中,您可以使用一些默认值声明路由参数。0是很好的候选,因为在它之上构建一些条件是最容易的。它也是typesafe,并预先验证自身。一开始我会推荐这个解决方案。第二种方法直接从请求中读取