问题标签 [playframework-2.6]

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 投票
1 回答
389 浏览

scala - 未为注入的 Akka RouterActor 调用构造函数和 preStart/postStop 钩子

我正在 Play Framework (Scala) 中尝试一些示例。我正在将一个演员注入控制器。

配置

  • Java ( 1.8.0_144 )
  • 斯卡拉2.12.3
  • 播放2.6.5

我有以下代码:
ExampleController

注入演员

InjectedRouterActor

儿童演员

模块

当我运行它并为alive打路线时,我看到控制台上所有可见的演员的println s,除了InjectedRouterActor

无法理解为什么?任何帮助表示赞赏。

谢谢

0 投票
1 回答
941 浏览

scala - play 2.6 自动重新加载在第一次编译后不显示更改

当我执行sbt run并刷新时,localhost:9000将显示我的更改。如果我更改其他内容,请保存我的项目并再次点击刷新localhost:9000不会显示我的更改。如果我尝试sbt ~run每次更改文件并保存时都可以看到 sbt 重新编译,但是刷新localhost:9000不会显示任何更新。只有当我终止 sbt 进程并重新启动它时,我才能看到我的更改。

我的设置:

视窗 8.1

玩 2.6

sbt 1.0.2

斯卡拉 2.12.3

Intellij 2017.2.5

0 投票
2 回答
1709 浏览

scala - 如何在 Play 2.6 上禁用 CSRF 过滤器?

我一直在尝试将 Postman 与我的 Play Framework API 一起使用,但我一直遇到与 CSRF 过滤器相关的问题。

我浏览了一些论坛(包括 SO)以寻找解决此问题的方法,并且众所周知的建议似乎在添加:

application.conf文件。

我已经尝试执行该修复,但即使我这样做了,我仍然在控制台日志中收到此错误:

将cookie 设置为 JWT/auth/logout的 POST 请求在哪里。Authorization

我尝试了许多替代修复,例如设置play.filters.disabled[]or null,允许所有主机通过 CORS 过滤器,所有 3 的各种组合等,但最终相同的错误出现在我的日志中。

唯一对应用程序进行更改的是将 CSRF 令牌设置为 cookie 而不是在会话中,这会将错误更改为:

这让我至少知道application.conf正在正确加载,但它仍然不能解决问题。

是否有正确的方法来禁用我没有正确执行的 CSRF 过滤器?有没有另一种方法可以让 Postman 通过 CSRF 过滤器工作?

0 投票
2 回答
72 浏览

java - 如何在 Play Framework 中重新创建 nginx 的 try_files 以托管 React 站点

我正在尝试从 Play Framework 服务器托管一个 React 站点。React 前端是在一个单独的项目中开发的,它的构建工件(静态 html/js/css/etc. 文件)被复制到我的 Play 项目的public文件夹中。

现在我尝试导航到例如 /page1 (这是一个 React 路由),但我得到一个 404,因为服务器当然没有这样的路由。

我想要的是复制 nginx 的try_files $uri /index.html那种功能——如果可以提供所要求的路径(即它对应于服务器知道的资产),它就会被提供。否则,在不重写 url 的情况下提供 index.html 的内容,以便 React 的路由可以工作。

我试过让它只与routes文件一起使用,也可以作为控制器(使用 if/else)。我无法准确地复制 nginx 中的单线。我怎么能这样做?

0 投票
1 回答
220 浏览

java - Play Framework WebSocket 示例 - 只有一个真实来源(没有假生成器)

我需要一些帮助来修改https://github.com/playframework/play-java-websocket-example。此示例基于Source给定 Stock ID 的 own。每Source在某个时间间隔内产生新的股票价值:


这个例子大部分是我需要的(“观察/不观察”股票的想法),所以我想以非常相似的方式使用它,但我不想在我的应用程序中伪造股票报价时间间隔生成器,因为我已连接真正的,一个证券交易所的来源。我通过阅读消息(在我的应用程序的其他部分)java.io.InputStream,现在,我将它们放入java.util.Queuejava.util.concurrent.LinkedBlockingQueue)通过queue.offer(message),现在我想以某种方式从 Stock.update() 获取它(但我不知道这是最好的地方)。

到目前为止,我知道我可以使用例如Source.queue(BUFFER_LENGTH, OverflowStrategy.backpressure()),但它没有对(我的)队列的任何引用。我也知道我可以使用Source.queue(BUFFER_LENGTH, OverflowStrategy.backpressure()).to(...).run(...).offer(...),但不幸的是我不知道如何将它UserActor.addStock(Stock)Flow,UniqueKillSwitch等连接起来。

也许有人需要像我这样的修改并可以提供一些提示?

0 投票
0 回答
282 浏览

java - play framework 2.6 注入JPAApi

我正在尝试根据此处的官方文档将我的播放应用程序与休眠连接。我的 persistence.xml 文件`http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd" version="2.1">

`

但是,将 JPAApi 注入控制器构造函数后,出现以下错误:

好像DI机制找不到对JPAApi接口的正确实现。我该如何解决这个问题?

0 投票
2 回答
1896 浏览

scala - 播放框架将标头添加到 http 请求

我一直试图让 WS 向 json api 发出请求。到目前为止,我无法让 utf-8 正确呈现,记录在这里:Play Framework WS lost unicode chars from external api

我现在正在尝试将字符集添加到请求的 http 标头中。但是,我似乎无法做到这一点。如果我运行以下命令:

这将生成以下内容:

谁能诊断我做错了什么?为什么请求标头映射为空?我遵循了 2.6 scala doc的约定

0 投票
1 回答
216 浏览

scala - 剪影意外异常playframework 2.6

我在播放框架中使用 Silhouette 库时遇到问题,我正在使用 guice 进行运行时依赖注入,在创建接受 DelegableAuthInfoDAO 作为参数的 DelegableAuthInfoRepository 时出现错误,它说 DelegableAuthInfoDAO 未绑定到具体实例,即使我已经完成了在配置方法中绑定,这是我在启用模块时遇到的错误

以下是模块中完成的一些配置:

0 投票
0 回答
135 浏览

java - 同一张表上的 EBean 内连接

我需要在同一张表上执行内部联接。下面是我当前正在执行的原始查询。

使用 RawSQL 执行上述操作似乎很笨拙。如何在不使用 RawSQL 的情况下执行上述操作?我检查了这个问题Ebeans where columnA equals columnB in same table但我不确定如何将该答案应用于我的情况。任何帮助将非常感激。

0 投票
0 回答
38 浏览

java - @forProviders 在 Scala 视图中不起作用

@import com.feth.play.module.pa.views.html._ (播放!验证库)中的任何方法都不起作用!查看日志:

来自线程 [play-dev-mode-akka.actor.default-dispatcher-16] 的未捕获错误:com.feth.play.module.pa.views.html.forProviders_Scope0$forProviders。显示(Ljava/lang/Object;Lscala/reflect/Manifest;)Lplay/twirl/api/Appendable;,关闭 JVM,因为为 ActorSystem[play-dev] 启用了 'akka.jvm-exit-on-fatal-error' -mode] java.lang.NoSuchMethodError:com.feth.play.module.pa.views.html.forProviders_Scope0$forProviders。显示(Ljava/lang/Object;Lscala/reflect/Manifest;)Lplay/twirl/api/Appendable;

原因是NoSuchMethodError,但我无法弄清楚如何@forProviders在我的 scala 视图中导入此方法。从样本导入不起作用!

斯卡拉视图:

PS.:我正在关注来自 joscha github 的示例 play-authenticate-usage(基本身份验证)