如何在播放框架(scala)中发送HTTP 2.0请求
在播放框架(v.2.6.5 scala)下运行的后端必须与Apple推送通知服务(APN)通信。 APN需要使用HTTP/2,所以我试图找到任何方式来实现这样的通信,但令我惊讶的是我没有找到任何支持http v 2.0的http scala客户端。 有没有什么方法可以实现这样的沟通而不会脱离框架? 谢谢!如何在播放框架(scala)中发送HTTP 2.0请求
使用2.6之前版本的Play Framework不支持HTTP 2.0,但Play Framework 2.6基于Akka-Http并且对于HTTP 2.0具有experimental support
。此功能被标记为“实验性”,因为API将来可能会发生变化,并且尚未经过彻底的全面测试。
要添加对HTTP/2的支持,请添加PlayAkkaHttp2Support
插件。如果你考虑替代方案来看看
lazy val root = (project in file("."))
.enablePlugins(PlayScala, PlayAkkaHttp2Support)
:您可以在enablePlugins做到这一点
检查HTTP 2.0的已知实现的这个list。
在Akka HTTP中,它是Play的基础!就我所知,框架HTTP/2支持在服务器端是实验性的,在客户端还没有提供。工作正在进行中,并在Github上进行跟踪。除非您倾向于自己编写HTTP/2客户端支持,并且可以选择将其捐赠给项目(这可能会是一个非常令人满意的体验),那么走出框架恐怕将成为现在的必要条件,恐怕。
如果你有能力使用Java 9(嘿,这已经是黄金两天了!),你可以考虑它的HTTP/2客户端。
Vert.x原本是一个Java框架,通过启发的NodeJS,但在其目前的化身,它包括一个HTTP/2客户端与斯卡拉API:http://vertx.io/docs/vertx-web-client/scala/ - 我从来没有用它在生产,使因人而异...
编辑:你也可以考虑sttp OkHttp后端,它支持HTTP/2。