問題タブ [protorpc]
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.
python - python set はどのように差を計算しますか?
したがって、2 つの protorpc.messages.FieldList があります。2 つのリストのフィールド (フィールド クラス) の対称的な違いを計算したいと思います。次のコードを実行してみました。
list1 と list2 は私の FieldLists で、それぞれに 3 つの要素があります。そのうちの 2 つは同じで、そのうちの 1 つは違いです。出力が異なる要素を提供してくれることを期待しています。次のコードを実行しました。
ただし、変数の差は、6 つのフィールドすべてを保持することになりました。
次の方法で試してみると、期待どおりに機能しました。
私の質問は、Python は 2 つのセット間の対称差をどのように計算するのでしょうか? 等式 (値による) を利用するか、in 演算子 (参照による) を使用しますか? 私が見ていない他の何かがありますか?
編集して例を追加します (これは protorpc のドキュメントに触発されています):
https://cloud.google.com/appengine/docs/python/tools/protorpc/?csw=1#Adding_Message_Fields
私が取得しているリストは、これらのメッセージ コンテナの繰り返しフィールドからのものです。
python - Python protoRPC: 再帰メッセージ クラス
私はツリーを表現するためのメッセージクラスを作成しようとしているので、当然私は次のようにしました:
ただし、 atline 3
Node
がまだ定義されておらず、未解決であるため、これは機能しません。
protorpcメッセージを使用してツリー(固定深さのツリーではなく、任意のツリー)を作成する方法についてのアイデアはありますか?
編集:
試した:
エンドポイントは不平を言います:MessageDefinitionError: Message types may only inherit from Message
protocol-buffers - パラメータなしの Protobuf RPC Service メソッド
Google の Protocol Buffers を使用して RPC サービスを記述しようとしています
この定義をコンパイルしようとすると、ピースExpected type name
を指すエラーが発生します。WhoAreYou()
に置き換えるWhoAreYou()
と正常に動作しますWhoAreYou(Whoami)
が、この場合、メソッドにはパラメーターは必要ありません.これを行う方法はありますか、それとも単にサポートされていませんか?
python - TypeError: 'Message' オブジェクトは呼び出し可能ではありません
Flask アプリを作成し、Google App Engine でホストしています。Cloud Endpointsprotorpc
を使用せずにカスタム REST API を構築できるように、ライブラリをアプリに統合したいと考えています。messages.Message
このためapis_messages.py
に、次のコードを含むファイルを作成しました。
api_messages.py:
StoredMessage
次に、このオブジェクトを my にインポートviews.py
し、次のように使用します。
ビュー.py:
このコードでは、次のエラーが発生し続けます。
メッセージが呼び出せないのはなぜですか?
python - プロトコル RPC メッセージ、空/設定されていない繰り返しフィールド
Google Cloud Endpoints と protorpc メッセージ (python) を使用しています。エンドポイントを作成してユーザー情報を編集しました。ユーザーが空の値を送信したときと、値が送信されなかったときを確認するにはどうすればよいですか? クライアントは {languages: ''} を送信して言語を削除 (None に設定) するか、{} を送信して何もしないことができます。UserEditMessage.languages は繰り返しとしてチェックされるため、フィールドが設定されていないか [] として設定されているかに関係なく、メッセージは常に [] を返します。繰り返されないフィールドの場合、{言語: ''} は {} に対して '' を返し、None を返します。
例:
python - エンドポイント API - protorpc 検証エラー
protorpc
エンドポイントを使用すると、奇妙なエラーが発生します。このコードでは:
application.get()
エラーを呼び出すと、次のようになります: (完全なトレースはこちら):
TypeError: 正確なタイプ Application のエンティティからのみコピーできます。アプリケーションのインスタンスを受け取りました。
application.list()
エラーを呼び出す場合は次のとおりです: (完全なトレースはこちら):
ValidationError:
<class '.Application'>
フィールド アイテムの予想される型が見つかりました<Application name: u'test'>
(type<class '.Application'>
)
何が原因でしょうか? ほぼ同じコード (プロパティが異なるだけ) を持つ私の他のモデルは正常に動作します。
javascript - JavaScript を介してブラウザで Google Protocol RPC API を呼び出す
次のようにjQueryを使用してGoogle Protocol RPC APIにアクセスしようとしています:
しかし、次のエラーメッセージしか表示されません。
ProtoRPC でメソッドを返して、OPTIONS
このエラーが発生しないようにするにはどうすればよいですか?