akkaルーティングでは、次のようにcompleteを使用します。 (HttpResponse)Akka Completeパラメータタイプ
この完全機能は、akka.scalads.HttpResponseまたはorg.apache.http.HttpResponseからのHttpResponseだけを受け入れますか?それが受け入れられないなら、なぜ誰かが説明することができますか?
akkaルーティングでは、次のようにcompleteを使用します。 (HttpResponse)Akka Completeパラメータタイプ
この完全機能は、akka.scalads.HttpResponseまたはorg.apache.http.HttpResponseからのHttpResponseだけを受け入れますか?それが受け入れられないなら、なぜ誰かが説明することができますか?
完全なパラメータ型あなたはcomplete
は、アッカのHttpResponse
を含む多くの異なるパラメータ型を、受け入れることがわかりますthe documentationから
:
def complete[T :ToResponseMarshaller](value: T): StandardRoute
def complete(response: HttpResponse): StandardRoute
def complete(status: StatusCode): StandardRoute
def complete[T :Marshaller](status: StatusCode, value: T): StandardRoute
def complete[T :Marshaller](status: Int, value: T): StandardRoute
def complete[T :Marshaller](status: StatusCode, headers: Seq[HttpHeader], value: T): StandardRoute
def complete[T :Marshaller](status: Int, headers: Seq[HttpHeader], value: T): StandardRoute
のApache /アッカレスポンス
完全にはありませんただし、apacheの応答タイプを受け入れます。
HttpResponse
メンバ変数のほとんどは、一つの大きな例外を除いて、対応するApacheの変数にマッチするのは簡単です:ResponseEntity
はアッカ・ストリームSource[ByteString, Any]
です。アペックHttpEntity
は、InputStream
を使用して、akka /ストリームを認識しないデータを表します。したがって、既存のakka ActorSystem
がなければ直接変換はできません。
import akka.http.scaladsl.model.{HttpResponse => AkkaResponse}
import org.apache.http.{HttpResponse => ApacheResponse}
implicit def apacheToAkka(apacheResponse : ApacheResponse) : AkkaResponse = ???
val apacheResponse : ApacheResponse = ???
complete(apacheResponse)
:
あなたが完了するために、Apacheの応答を渡すことができるようになるアッカHTTPレスポンスにApache HTTPレスポンスから独自implicit conversion functionを書き込むことが可能です