问题标签 [play-framework-2.7]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
54 浏览

json - Scala Play:将大型 JSON 模板外部化的方法是什么?

我正在开发一个调用 WS API 的 Scala 2.12.x Play 2.7.x 项目,因此,我需要存储带有占位符的大型 JSON 模板以供重用,例如

但是,这只是为了说明,我拥有的 JSON 大到可以在代码中内联并使用 String 插值s"",更不用说在代码中保持内联的可维护性问题了。此外,上面的这不是有效的 JSON。

一个想法是将这些模板作为一些模板的一部分,templates.conf但这会滥用Configuration功能还是?此外,Play 会在每次重新加载时尝试填充这些占位符,这不是我想要的。

你建议用什么方法来实现这个用例?

0 投票
1 回答
1026 浏览

scala - 如何仅为应用程序控制器启用日志记录调试级别?

我在 Scala 2.12.x Play 2.7.x 上,作为我的应用程序控制器的一部分,我正在使用这样的记录器(或等效地通过这样做with play.api.Logging):

配置conf/logback.xml如下图所示。问题是应用程序控制器的logger.debug(...)语句没有在日志中输出。我假设application设置为DEBUG查看最后一个条目<logger name="application" level="DEBUG" />,但显然有问题,因为 DEBUG 语句没有被输出?

PS:我知道我可以为所有内容启用调试,但是我不需要的信息太多,我想看看我的控制器日志记录发生了什么。

0 投票
1 回答
1024 浏览

json - 如何根据条件过滤 JSON 数组结果?

我正在使用 Scala Play 2.7.2 并已阅读ScalaJsonTransformersScalaJson。调用 JSON API 后,我得到如下(简化的 MCVE)结果:

我想过滤结果并仅选择满足条件的结果,例如,过滤掉结束日期大于某个日期的结果val to = new DateTime("2019-06-10T00:00:00")并做一些事情:

但这不起作用,因为结果是选择而不是整个 json 节点,而且它也离开了外部。

解决方案应输出结果:

如何使用 Play JSON 来做到这一点?

0 投票
1 回答
83 浏览

playframework - 是否可以在 Play Framework 2.7 中访问动作组合中的路由参数?

我正在寻找从自定义操作组合中访问路由参数的最佳方式。我从几年前找到了一些答案,表明当时在 Java 中这是不可能的,但我想知道从那时起是否有任何变化。

上一个问题

我想编写一些需要能够获取路由参数的中间件。如果没有开箱即用的方式,是否有任何可能的解决方法?

最好用Java

0 投票
0 回答
145 浏览

playframework - Swagger-play2 - 隐藏内部参数

我已经配置了 swagger-play2 库版本 1.7.1(用于播放框架版本 2.7)并成功启动并运行。我们的控制器方法有一个额外的输入:Http.Request request它通过应用程序传递,用于一些日志记录和监控目的。我需要从招摇规范中隐藏它,尝试使用@ApiParam(hidden = true)但它仍然出现在规范中。这个标志没有按预期工作吗?在这种情况下如何隐藏输入?我想知道是否@ApiParam(hidden = true)适用于任何使用swagger-play2插件的人,而不是 Spring。

谢谢。

0 投票
1 回答
62 浏览

scala - 添加搜索功能的首选工具/插件是什么?

我正在 Scala 2.12.x、Slick 3.3.0 和 Playframework 2.7.x 之上构建一个应用程序,并且需要添加 Web App 索引和搜索功能。目前,搜索将仅针对应用程序内的静态路由,但我可以想象在不久的将来也必须对数据库进行索引/搜索。

有多种替代方案,有些就像客户端插件一样简单,无需使用任何索引即可动态搜索。更强大的方法是使用Apache Lucene ... 是否有任何示例集成?插件?

还有其他值得考虑的选择吗?

0 投票
1 回答
51 浏览

scala - data(base) i18n 的首选是什么?

我正在开发一个 Scala Play 2.7 项目,并且有一个用例用于保存需要 i18n 的数据库数据。

我有两种设计选择:

  1. 使用语言将数据保存在数据库中,例如en作为密钥的一部分,并且对每种支持的语言都这样做。
  2. 将映射到播放消息的数据库键保存在数据库中,然后为每个键提供相应的支持翻译。

缺点是例如选择#1,需要为每种支持的新语言更新数据库;对于选择 #2 对数据库的查询需要“修饰”查找每个键的相应翻译messages.x

0 投票
0 回答
138 浏览

scala - 如何在不将数据保存到磁盘的情况下处理文件上传?

我正在寻找正确的方法来检索上传的文件内容(例如通过多部分),而不将其保存到一些我认为是 Play 框架的默认行为的临时文件中。

我已经阅读了Writing-your-own-body-parser,但它并没有说明如何实现不需要将接收到的数据保存在磁盘上的自定义解析器。

有人可以提供一个例子吗?

0 投票
1 回答
335 浏览

scala - 如何模拟 ActionBuilder 的 BodyParser.Default 参数?

我想为以下控制器编写测试。

当我尝试使用模拟参数在测试中创建 Action builder(AuthenticationAction) 的实例时new AuthenticationAction(mockProperties, mock[BodyParsers.Default]),我收到了这个错误:

我试图创建一个实例BodyParsers.Default,而不是模拟它,但它需要一些我无法传递的隐式参数。

如何创建BodyParsers.Default类的实例?

0 投票
1 回答
42 浏览

playframework - 在 Play 2.7 中向某些结果添加标题的惯用方法是什么,但不是所有结果?

假设我有一个非常简单的动作;

我大约 50% 的路线需要设置“as("text/csv") 标头。我想要一个仅附加该标头的 AsCSV 操作...

我想以某种方式扩展动作,这样我就有了类似 csvAction 的东西。

但是,我迷失在 ActionBuilders、Refiners - 过滤器中......

有没有一种简单的方法可以做到这一点?