1

これに実際の答えがあるかどうかはわかりませんが、ここに行きます。

JSON API のみをクライアントに公開する appengine で webapp2 を使用して、webapp を構築しています (ブラウザーベースのクライアント用のシェル HTML テンプレートを除く)。

私が今持っているのは、着信 URL をハンドラーにルーティングする main.py です。ハンドラーは、機能 (つまり、user_auth、user_info、groups など) ごとにモジュールに分割されます。私ndb.Modelの s が住んでいる models.py モジュールがあります。

を含む最低レベルのコードは、models.pyModelのサブクラスに含まれています (つまり、 には、によって呼び出される によって呼び出されるというクラスメソッドがあります)。Modelmodels.Groupcreate_groupgroups.AddGroupHandler.add_groupgroups.AddGroupHandler.post

api.UserAuthまた、webapp のすべての動作 ( 、api.Signup、など)のクラスを含む api.py モジュールもあります。このモジュールには、これらの動作 ( 、api.RegistrationVerification、 など) に対して JSON を返すクラスメソッドが含まれています。api.UserAuth.session_expiredapi.RegistrationVerification.bad_token

api.py のメソッドは、モデルの「低レベル」メソッド、ハンドラー モジュールの「ヘルパー」メソッド (つまりgroups.AddGroupHandler.add_group、など)、およびハンドラー メソッド自体 (つまりgroups.AddGroupHandler.post、など)から呼び出されます。 .

この構造は今後問題になるのでしょうか、それともこのままでいいのでしょうか。また、この種のプロジェクトで機能することが知られている標準的な構造はありますか?

編集: RESTなどは使用していません。

4

1 に答える 1

2

Google Cloud Endpoints を検討することを強くお勧めします。これにより、エンドポイント フレームワークを使用して API を構築できます。その後、Google は利用できるクライアント ライブラリを提供するため、独自の iOS、Android、Javascript を展開する必要はありません。サービスレイヤーと通信するためのフロントエンドコードなど。

https://developers.google.com/appengine/docs/java/endpoints/

少し学習曲線がありますが、それを乗り越えれば、それを使用するのに最適な機能です. また、OAuth 2.0 サポートが組み込まれているなどの機能も含まれています。これがなければ、サービス レイヤーで認証を行いたい場合は、独自にロールバックする必要があります。

于 2013-12-19T20:10:19.460 に答える