在play framework(v.2.6.5 scala)下运行的后端必须与Apple Push Notificaton Service(APN)通信。 APN需要使用HTTP / 2,所以我试图找到任何方式来实现这样的通信,但令我惊讶的是我没有找到任何支持http v 2.0的http scala客户端。 有没有办法在不走出框架的情况下实现这种沟通? 谢谢!
答案 0 :(得分:1)
在Akka HTTP中,它是Play的基础!框架,HTTP / 2支持在服务器端是实验性的,在客户端尚未提供,据我所知。工作正在进行中,并在Github上进行跟踪。除非您自己倾向于自己编写HTTP / 2客户端支持并且可选择将其捐赠给项目(这可能是一种非常令人满意的体验),否则在框架外部可能是现在的必需品,我&# 39;害怕。
如果您能够使用Java 9(嘿,它已经两天了!),您可以考虑使用它的HTTP / 2客户端。
Vert.x最初是一个受NodeJS启发的Java框架,但在目前的版本中,它包含一个带有Scala API的HTTP / 2客户端:http://vertx.io/docs/vertx-web-client/scala/ - 我从未在生产中使用它,所以YMMV ...
编辑:您可能还会考虑使用支持HTTP / 2的OkHttp后端sttp。
答案 1 :(得分:1)
使用2.6之前的版本的Play Framework不支持HTTP 2.0,但是,Play Framework 2.6基于Akka-Http并且对于HTTP 2.0具有experimental support
。此功能标记为“实验性”,因为API可能在将来发生变化,并且尚未在野外进行全面测试。
要添加对HTTP / 2的支持,请添加PlayAkkaHttp2Support
插件。您可以在enablePlugins中执行此操作:
lazy val root = (project in file("."))
.enablePlugins(PlayScala, PlayAkkaHttp2Support)
如果您考虑替代方案,请查看: