問題タブ [spray-routing]
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 - スプレー ルーティングが一致しません
私は多くのことを試しましたが、テストで何をしても (「ユーザーを作成する」ために PUT 要求を送信するだけです)、ログは pathPrefix のいずれにも入力されず、最後に移動して何も一致しません。
誰でも洞察を提供できますか?以下は、私が書いたクラスと簡単なテストです(まだ何もチェックしていません)
全体的にかなり初歩的で、素晴らしいことをしていないことはわかっていますが、ルーティングでいくつかの簡単なテストを行うことができると感じたところまで一緒に投げたものです.
scala - Akka Json アンマーシャリングをスプレー
スプレー akka を使用してオブジェクトを Json にアンマーシャリングすることに問題があります。
Future[List[Person]] を返すアクターを使用したいのですが、うまくいきません。
dao オブジェクトを直接使用すると機能します。
ここに私のコードがあります:
PersonDao.scala
EntityServiceActor.scala
ServerSupervisor.scala
WebServiceTrait.scala
PersonWebService.scala
アプリケーション.scala
このコードを実行すると、何も表示されず、しばらく待ちます。
ブラウザを待った後、次のメッセージが表示されます。
サーバーは、要求に対してタイムリーな応答を生成できませんでした。
そしてコンソール出力は
[エラー] [11/22/2015 21:15:24.109] [actorSystem-akka.actor.default-dispatcher-7] [akka.actor.ActorSystemImpl(actorSystem)] リクエスト HttpRequest(GET, http:/ /localhost:3001/person/,List(ホスト: localhost:3001、接続: キープアライブ、キャッシュ制御: キャッシュなし、プラグマ: キャッシュなし、ユーザーエージェント: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML、Gecko など) Maxthon /4.4.6.1000 Chrome/30.0.1599.101 Safari/537.36、DNT: 1、Accept-Encoding: gzip、deflate、Accept-Language: tr-TR)、Empty、HTTP/1.1) akka.pattern.AskTimeoutException: タイムアウトを要求する[Actor[akka://actorSystem/user/$a/entityServiceActor#-1810673919]] [120000 ミリ秒] 後。Sender[null] は、タイプ「com.bilalalp.akkakafka.service.ServiceOperation$FIND_ALL$」のメッセージを送信しました。akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:415) akka.actor.Scheduler$$anon$7.run(Scheduler.scala:132) scala.concurrent.Future$InternalCallbackExecutor $.unbatchedExecute(Future.scala:599) を scala.concurrent で。
PersonWebService.scala をこれに変更すると:
それは動作し、出力は次のとおりです。
[{"id":1,"name":"Bilal","surname":"Alp"},{"id":2,"name":"Ahmet","surname":"Alp"}]
スプレー ルートでアクターを使用したいと思います。私はakkaとsprayの初心者なので、それが悪い習慣なのかどうかはわかりません。
どうすればこれを解決できますか? 何か案は?
ありがとうございました。
scala - スプレールーティングは単一のスラッシュで機能しますが、それ以外は機能しません
だから私は以前にこれについて尋ね、多くのコードを変更しました。
今、ブロックしないように、detach() ブロック内の HTTPresponses を返す関数を実行しています。その後、これらは完了してクライアントに戻りますが、まだルーティングを機能させることができないようです。
私のテストでは、単一のスラッシュへのリクエストは正常に機能しますが、以下に示すこのユーザー パスの作成など、他のリクエストはすべて失敗します。理由がわからず、スプレー ルーティングは非常に多くの構成要素を使用しており、システムがどのようにうまく機能しているかを理解するのに苦労しています。
何が起こっているのかを示すかもしれないと考えて、特定のパスの周りに logRequest ブロックを挿入しようとしましたが、どれもヒットしていないようです。どんな助けでも大歓迎です。
これが私のスケーラテストの外観です。単純な Put はパスしますが、newuser を使用した put はパスしません。
scala - スプレー HttpService で Dispatcher を使用する
私のアプリケーションには、SprayCan を使用する API があります。アプリケーションでは、ブロッキング コードには、特定のリソースごとに個別のディスパッチャがあります。
独自の Dispatcher を使用して構成することにより、API サービスがアプリケーションによってブロックされないように保護する必要がありますか?
また、より大容量のリクエストを処理するために API サービスに Router を使用するのは一般的な方法ですか?
spray - スプレー ディレクティブを折りたたむ方法
これらのディレクティブを可能な限り折りたたむにはどうすればよいでしょうか?
3 つのディレクティブを mainHeader に折りたたむことができましたが、authenticate と responseWithMediaType も含めるにはどうすればよいでしょうか?
scala - トレイトを使用して akka-http ルートを集約する方法は?
実行時に特性を使用してルートを集約しようとしていますが、これまでのところ
アイテムのリストをに渡すことができないため、明らかに上記のコードは機能しませんHttp().bindAndHandle
。
だから私の質問は、どのように を受け入れるように解析できList[Routes]
ますか、Http().bindAndHandle
または のサブクラスからルートを動的にロードするにはどうすればよいRoutable
ですか?
spray - ハッシュ関数による楽観的ロック
以下のコードはエラーなしで完了するように見えますが、スタックの下の方にある Spray.can.server.HttpServerConnection は、「If-Match」ヘッダーに特定の形式を持たせたいと考えています。
おそらく拒否ハンドラーが欠けていると思いますか?または、何かをオフにする必要がありますか?
何か案は?
ルート:
指令: