问题标签 [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.
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。
无法理解为什么?任何帮助表示赞赏。
谢谢
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
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 过滤器工作?
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 中的单线。我怎么能这样做?
java - Play Framework WebSocket 示例 - 只有一个真实来源(没有假生成器)
我需要一些帮助来修改https://github.com/playframework/play-java-websocket-example。此示例基于Source
给定 Stock ID 的 own。每Source
在某个时间间隔内产生新的股票价值:
这个例子大部分是我需要的(“观察/不观察”股票的想法),所以我想以非常相似的方式使用它,但我不想在我的应用程序中伪造股票报价时间间隔生成器,因为我已连接真正的,一个证券交易所的来源。我通过阅读消息(在我的应用程序的其他部分)java.io.InputStream
,现在,我将它们放入java.util.Queue
(java.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
等连接起来。
也许有人需要像我这样的修改并可以提供一些提示?
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接口的正确实现。我该如何解决这个问题?
scala - 播放框架将标头添加到 http 请求
我一直试图让 WS 向 json api 发出请求。到目前为止,我无法让 utf-8 正确呈现,记录在这里:Play Framework WS lost unicode chars from external api
我现在正在尝试将字符集添加到请求的 http 标头中。但是,我似乎无法做到这一点。如果我运行以下命令:
这将生成以下内容:
谁能诊断我做错了什么?为什么请求标头映射为空?我遵循了 2.6 scala doc的约定
scala - 剪影意外异常playframework 2.6
我在播放框架中使用 Silhouette 库时遇到问题,我正在使用 guice 进行运行时依赖注入,在创建接受 DelegableAuthInfoDAO 作为参数的 DelegableAuthInfoRepository 时出现错误,它说 DelegableAuthInfoDAO 未绑定到具体实例,即使我已经完成了在配置方法中绑定,这是我在启用模块时遇到的错误
以下是模块中完成的一些配置:
java - 同一张表上的 EBean 内连接
我需要在同一张表上执行内部联接。下面是我当前正在执行的原始查询。
使用 RawSQL 执行上述操作似乎很笨拙。如何在不使用 RawSQL 的情况下执行上述操作?我检查了这个问题Ebeans where columnA equals columnB in same table但我不确定如何将该答案应用于我的情况。任何帮助将非常感激。
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(基本身份验证)