問題タブ [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.
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日を。
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 を使用) を実行すると、(文字列ではなく) リストであるヘッダーに関連する非互換性が表示されます
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 を変更してリストを文字列に置き換えます。
出力:
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 テクノロジーと絡み合っていますか?
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()
そのエラーメッセージはどういう意味ですか?
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