2

次のステップ:gae/pyアプリのajaxフロントエンド。

私のアプリには、データストアと対話してページを毎回更新する基本的なhtmlバージョンしかありません。大丈夫ですが、今はajaxが必要です。私はいくつかの解決策を試しました:基本的なjavascript、jqueryのajax API、そしていくつかのフレームワーク。

私が探していたものはすべてknockoutjsで見つけたと思いますが、このフレームワークはjson形式を介してサーバーと対話します。これは、jsonライブラリを学習し、すべてのハンドラーを書き直す必要があることを意味します。そのため、jsonで取得して投稿します。このタスクを開始することはできますが、ProtoRPCAPIについてもっと理解したい前に。

ドキュメントによると、このAPIは「構造化されたAjaxバックエンドの作成」にも役立ちます。うまく理解できれば、応答するメッセージはjson形式になります。私の質問は:

ProtoRPC APIメッセージがjsonを使用しているのは本当ですか?

すべての要求/応答がProtoRPCを通過するのは問題になりますか?

サーバー側の堅牢なProtoRPCサービスを実装し、クライアント側のフレームワークを使用することは良い戦略ですか?

4

2 に答える 2

5

ProtoRPCには、伝送プロトコルのJSON実装が付属しています。

公式ドキュメントのProtoRPCの概要で説明されているように、ProtoRPCを使用してサーバー側ロジックを構築し、JSONでエンコードされたメッセージを使用してAPIエンドポイントにHTTPリクエストを発行できる必要があります。

Knockoutjsは邪魔にならないようにする必要があります。ドキュメントには、データの読み込みや保存に特定の手法を使用する必要はないと記載されているためです。

于 2012-06-06T14:41:08.957 に答える
2

まだ完全に開発されたクライアントがないので、クライアント側からProtoRPCを使用することについてのマイナーなポイントに言及したいと思います。ProtoRPCでJsonを使用する主な方法は、リクエストのコンテンツタイプが「application/json」であることを確認することです。そうしないと、ProtoRPCがバイナリprotobuf形式を使用しようとする可能性があります。

また、ProtoRPCのドキュメントは少し古くなっています。例は、WebアプリケーションベースのリクエストハンドラーでProtoRPCを使用する方法を示しています。代わりに、特にPython 2.7で作業している場合は、新しいwsgiベースのハンドラーを使用する必要があります。

WSGIハンドラーはProtoRPCに組み込まれており、ソースコードは次のとおりです。

http://code.google.com/p/google-protorpc/source/browse/python/protorpc/wsgi/service.py#211

これは、既存のWebアプリケーションベースのアプリケーションで使用するのが少し難しいことを除いて、Webアプリケーションハンドラーと非常によく似ています。

于 2012-06-06T19:50:43.287 に答える