問題タブ [dart-rpc]

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.

0 投票する
1 に答える
649 参照

dart - Dart await キーワード

io サンプルを使って Dart の rpc パッケージを試してみたい ( https://github.com/dart-lang/rpc )

私は 1.9.1 SDK を搭載した 64 ビット バージョンの Dart エディターを使用しています (安定したバージョン以上を更新することはできません)。

これは私の pubspec.yaml です:

しかし、サーバーを起動するためにサンプルをコピーしようとすると:

私の EDI(SDK) は await キーワードを知りません。(ライブラリ ファイルに dart:io dart:async および rpc パッケージをインポートします)

私は何かを逃した?ご回答ありがとうございます。良い1日を。

0 投票する
1 に答える
180 参照

dart - Dart シェルフと rpc パッケージ間の非互換性? ('access-control-request-method' ヘッダー)

shell パッケージと rpc パッケージの間には互換性がないようです。

rpc [0.4.1] config/api.dart では: handleHttpOptionsRequest は、'access-control-request-method' ヘッダーがリストであることを想定しています。

シェルフ [0.5.7] パッケージを使用する場合、このメソッドに渡される ParsedHttpApiRequest には、文字列である「access-control-request-method」ヘッダーが含まれます。

これにより例外が生成されます...

dart.io HttpServer で rpc を使用する場合、コードは正常に動作し、ParsedHttpApiRequest には「access-control-request-method」ヘッダーの値として文字列のリスト (要素が 1 つ) があります。

dart rpc + shell をうまく使っている人はいますか? もしそうなら、例外を回避する方法について何か考えはありますか?

=== [更新] rpc の修正後、前述の問題は修正されたようです。ありがとうございます!別の問題が発生しましたが、まだ詳しく調査していません。スタック トレースは次のとおりです。

シェルフ [0.5.7] shell_rpc [0.0.3] rpc [0.4.2]:

=> dart rpc と shell (shelf_rpc を使用) を実行すると、(文字列ではなく) リストであるヘッダーに関連する非互換性が表示されます

0 投票する
1 に答える
131 参照

dart - リストである(文字列ではない)ヘッダーに関連するdart rpcおよびshelf(shelf_rpcを使用)を実行するときの非互換性

(文字列ではなく) リストであるヘッダーに関連する dart rpc および shell (shelf_rpc を使用) を実行するときの非互換性。

(文字列ではなく) リストであるヘッダーに関連する dart rpc と shell (shelf_rpc を使用) を実行すると、非互換性があるようです。

スローされるエラーは (shelf[0.5.7]、shelf_rpc[0.0.3]、rpc[0.4.2]: の場合):

この問題を回避するには、shelf_rpc.dart を変更してリストを文字列に置き換えます。

出力:

0 投票する
1 に答える
133 参照

dart - 非アプリ エンジン サービスで Document Discovery サービスを使用する

私は、Dart サーバーに Document Discovery サービスを簡単に追加できるようにする、Dart の RPC パッケージをいじっています。

少しグーグルで調べた後、特定のディスカバリー ドキュメントのクライアント コードを作成する方法を説明するAPI ディスカバリー サービス https://developers.google.com/discovery/について知りました。

次に、Document Discovery サービスのサーバー側のように見える Google Cloud Endpoint を見つけました。これは本当ですか。

私の本当の質問は、(たとえば) Spring に基づいており、(たとえば) 組み込みの Jetty サーバーを実行している標準的な Web サイトで Document Discovery サービスを使用したいということですか? これは可能ですか、それとも私のアプリケーションは App Engine テクノロジーと絡み合っていますか?

0 投票する
1 に答える
132 参照

dart - Dart - rpc generate クライアントの実行中にエラーが発生しました

「Beware the Nest o' Pirates」チュートリアル https://www.dartlang.org/codelabs/server/に従おうとしていますが、PiratesApi のクライアント コードを生成しようとすると問題が発生しました。

コマンドを実行すると

pub global run rpc:generate client -i lib/server/piratesapi.dart -o lib/client

次のエラー メッセージが表示されます

コマンド 'discoveryWithImports' の実行がエラーで失敗しました:

クラス 'ApiParser' で宣言された一致する引数を持つコンストラクター 'ApiParser' がありません。

NoSuchMethodError: 'ApiParser' という名前のメソッドに渡された引数の数が正しくありません

受信者: タイプ: クラス 'ApiParser'

呼び出してみました: ApiParser(strict: true)

見つかった: ApiParser()

そのエラーメッセージはどういう意味ですか?

0 投票する
1 に答える
449 参照

json - Dart-RPC: JSON の代わりに Protocol Buffers シリアライゼーションを使用する

デフォルトでは、Dart-RPCは、サーバーとクライアントの間でオブジェクト (クラス インスタンス) を転送するときに JSON シリアル化を使用します。

代わりにProtobuf ( Protocol Buffers )シリアル化を使用するにはどうすればよいですか? リクエストヘッダー
を使用してシリアル化方法(コンテンツタイプなど)を指定することはできますか?Accept

これが私が試したことです、

エンティティ.protoを表す次の定義ファイルを使用しました。Person

次のコマンドを実行して、 protoc-gen-dart pluginperson.pb.dartを使用して生成されました。

ボイラープレートの dart-rpc コード:

アップデート

機能リクエストを開きました: https://github.com/dart-lang/rpc/issues/62