問題タブ [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.

0 投票する
0 に答える
60 参照

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

私が取得しているリストは、これらのメッセージ コンテナの繰り返しフィールドからのものです。

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

python - Python protoRPC: 再帰メッセージ クラス

私はツリーを表現するためのメッセージクラスを作成しようとしているので、当然私は次のようにしました:

ただし、 atline 3 Nodeがまだ定義されておらず、未解決であるため、これは機能しません。

protorpcメッセージを使用してツリー(固定深さのツリーではなく、任意のツリー)を作成する方法についてのアイデアはありますか?


編集:

試した:

エンドポイントは不平を言います:MessageDefinitionError: Message types may only inherit from Message

0 投票する
2 に答える
36553 参照

protocol-buffers - パラメータなしの Protobuf RPC Service メソッド

Google の Protocol Buffers を使用して RPC サービスを記述しようとしています

この定義をコンパイルしようとすると、ピースExpected type nameを指すエラーが発生します。WhoAreYou()

に置き換えるWhoAreYou()と正常に動作しますWhoAreYou(Whoami)が、この場合、メソッドにはパラメーターは必要ありません.これを行う方法はありますか、それとも単にサポートされていませんか?

0 投票する
0 に答える
64 参照

python - TypeError: 'Message' オブジェクトは呼び出し可能ではありません

Flask アプリを作成し、Google App Engine でホストしています。Cloud Endpointsprotorpcを使用せずにカスタム REST API を構築できるように、ライブラリをアプリに統合したいと考えています。messages.Messageこのためapis_messages.pyに、次のコードを含むファイルを作成しました。

api_messages.py:

StoredMessage次に、このオブジェクトを my にインポートviews.pyし、次のように使用します。

ビュー.py:

このコードでは、次のエラーが発生し続けます。

メッセージが呼び出せないのはなぜですか?

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

python - プロトコル RPC メッセージ、空/設定されていない繰り返しフィールド

Google Cloud Endpoints と protorpc メッセージ (python) を使用しています。エンドポイントを作成してユーザー情報を編集しました。ユーザーが空の値を送信したときと、値が送信されなかったときを確認するにはどうすればよいですか? クライアントは {languages: ''} を送信して言語を削除 (None に設定) するか、{} を送信して何もしないことができます。UserEditMessage.languages は繰り返しとしてチェックされるため、フィールドが設定されていないか [] として設定されているかに関係なく、メッセージは常に [] を返します。繰り返されないフィールドの場合、{言語: ''} は {} に対して '' を返し、None を返します。

例:

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

python - エンドポイント API - protorpc 検証エラー

protorpcエンドポイントを使用すると、奇妙なエラーが発生します。このコードでは:

application.get()エラーを呼び出すと、次のようになります: (完全なトレースはこちら):

TypeError: 正確なタイプ Application のエンティティからのみコピーできます。アプリケーションのインスタンスを受け取りました。

application.list()エラーを呼び出す場合は次のとおりです: (完全なトレースはこちら):

ValidationError:<class '.Application'>フィールド アイテムの予想される型が見つかりました<Application name: u'test'>(type <class '.Application'>)

何が原因でしょうか? ほぼ同じコード (プロパティが異なるだけ) を持つ私の他のモデルは正常に動作します。

0 投票する
0 に答える
215 参照

javascript - JavaScript を介してブラウザで Google Protocol RPC API を呼び出す

次のようにjQueryを使用してGoogle Protocol RPC APIにアクセスしようとしています:

しかし、次のエラーメッセージしか表示されません。

ProtoRPC でメソッドを返して、OPTIONSこのエラーが発生しないようにするにはどうすればよいですか?