2017-09-23 11 views
2

プレーフレームワーク(v。2.6.5 scala)で実行中のバックエンドはApple Push Notificaton Service(APN)と通信する必要があります。 APNはHTTP/2を使用する必要があるので、私はそのような通信を実装する方法を見つけようとしましたが、驚いたことに、HTTP v 2.0をサポートするHTTPスカラクライアントは見つかりませんでした。 フレームワーク外に出ることなく、そのようなコミュニケーションを実現する方法はありますか? ありがとう!プレーフレームワーク(scala)でHTTP 2.0リクエストを送信する方法

答えて

1

2.6より前のバージョンのPlay FrameworkはHTTP 2.0をサポートしていませんが、Play Framework 2.6はAkka-Httpに基づいており、HTTP 2.0ではexperimental supportです。 APIは将来変更される可能性があり、野生で完全にテストされていないため、この機能は「experimental」というラベルが付けられています。

HTTP/2のサポートを追加するには、PlayAkkaHttp2Supportプラグインを追加します。あなたはenablePluginsでこれを行うことができます。

lazy val root = (project in file(".")) 
    .enablePlugins(PlayScala, PlayAkkaHttp2Support) 

あなたは選択肢がで見てみる考慮した場合:

  1. Jetty HTTP 2.0
  2. Nettyを使用する機能もHTTP 2.0
をサポートしています

既知のHTTP 2.0実装のlistを確認してください。

0

Play!の基礎となるAkka HTTPでは、フレームワークでは、HTTP/2サポートはサーバー側では実験的であり、クライアント側ではまだ利用できません。作業は進行中で、Githubで追跡されます。 HTTP/2クライアントのサポートを自分で作成し、必要に応じてプロジェクトに寄付する(おそらく非常に満足のいくエクスペリエンスになる)場合を除いて、フレームワークの外に出ることはおそらく今の必要になるだろう、恐れている。

Java 9を使用する立場にいるのなら(2日間は金色でした!)、HTTP/2クライアントと考えることができます。

Vert.xはもともとNodeJSに触発Javaフレームワークですが、その現在の化身では、ScalaのAPIとのHTTP/2クライアントが含まれていますhttp://vertx.io/docs/vertx-web-client/scala/ - 私は生産にそれを使ったことがないYMMV ...

編集:sttpは、HTTP/2をサポートするOkHttpバックエンドと考えることもできます。

関連する問題