4

Lift アプリケーションのデータソースとして Web サービス (この場合は REST) を使用する方法はありますか? Lift を使用して REST API を提供するチュートリアル/例を多数見つけることができますが、私の場合、データは別の場所でホストされ、REST Web サービスとしてエクスポートされます。doc へのポインタは大歓迎です。

ありがとう、ジェフ

4

4 に答える 4

2

これは実際には Lift とは関係ありません。すでにさまざまな情報があります。

  • すでに提案されているように HttpClient ライブラリ、
  • またはHTTP サービスにアクセスするための Scala ライブラリをディスパッチする
  • 必要な場合に備えて、さまざまな方法で Scala にデータをキャッシュする方法に関する情報

キャッシュについてよく考えてください。アプリケーションが大量のリクエストを生成し、キャッシュを使用する余裕がある場合は、通常は適切な選択です。キャッシングにより、多くの目標を達成できます。

  1. リモート サービスに依存しないため、応答時間が短縮されます (同期データ処理を行う場合)。
  2. リモートサービスが停止した場合のサービス拒否を回避します。そうしないと、アプリケーションはデータを読み取るために多くのソケットを生成し、リソース (ソケットまたはスレッドなど) を使い果たします。
  3. リモート サービスの SLA を超えないようにしてください。多くのサービスでは、単位時間あたりに実行できる要求の数が制限されているためです。

ですから、座ってこれらのものをまとめることができます。それだけです。

于 2010-04-12T13:54:32.650 に答える
1

本当に凝りたい場合は、REST ベースのデータ ソースの Record 実装を作成できます。CouchDB で動作するこれらの 1 つが既に存在します。lift-couchdb モジュールを使用すると、CouchDB とのやり取りが抽象化され、扱うのは Scala コードだけになります。lift-couchdb の使用を開始する方法について説明した短い wiki ページがここにあります。

http://www.assembla.com/wiki/show/liftweb/CouchDB

関連するソース コード ファイルは、次の場所から入手できます。

http://github.com/lift/lift/tree/master/framework/lift-persistence/lift-couchdb/src/main/scala/net/liftweb/couchdb/

Record インターフェイスを使用すると、HTML フォームの作成、ライフサイクル ベースの呼び出しの提供、検証用の簡単なフックなど、最小限のコード記述で機能を提供するために使用する多くの Traits にアクセスできます。

于 2010-09-01T06:24:19.263 に答える
0

REST 呼び出しを行うためにDispatch (HttpClient のラッパー) を使用します。シンプルでいい感じ

于 2011-08-12T18:20:41.513 に答える
0

私はHttpClientの上にスカラ層を置き、それを使用しています。しばらくの間、これを github に置くつもりでした。

于 2010-04-08T22:57:43.833 に答える