3

仕事では主に REST json API を扱っています。だから私は彼らに精通しています。しかし、私自身のプロジェクトでは、App Engine がぴったりだと信じているので、App Engine を試しています。

私はすでに Python で (ferris を使用して) ロジックを書き始めていましたが、アプリ エンジンの詳細を読んでいると、protorpc とクラウド エンドポイントに出くわしました。しかし、私が読んだほとんどの例では、残りの API で行うのと同じことを行っているようです。json でリクエストを行い、json レスポンスを取得します。またはエラー。

私が見る主な違いは、残りのエンドポイントはリソースに基づいているということです。そして、GET、POST、PUT、DELETE などの HTTP 動詞が関連しています。RPC の場合と同様に、各要求は、リソースやモデルに基づくのではなく、独自のエンドポイントを持ちます。

どちらも json でリクエストされ、json で応答します。そのため、Google エンドポイントを使用する利点を理解できていないと思います。彼らは他の種類の利益を提供していますか?エンドポイントを使用すると、分析の追跡が改善される可能性があります。しかし、コンテンツを変更するために post http 動詞を使用する必要はありませんか?

特定のフレームワークを使用していた場合、これは変化しますか? ジャンゴのように。私は現在、protorpc を扱うメッセージング システムを備えた Ferris をテストしています。とはいえ、私はまだ休むことができていません。

それで、私は何が欠けていますか?オブジェクトメソッドでjsonリクエストを処理するだけでなく、エンドポイントの利点は何ですか. ソケット接続はこれに関係していますか?

4

1 に答える 1

5

endpointsを使用して RESTful API を作成することで、両方を行うことができます。

protorpc/endpointsは魔法のように API を RESTful にするわけではありません。を使用するフレームワーク内で API を RESTful にする必要がありますendpointsprotorpc

を使用する利点はendpoints、多くの認証作業を簡単に行うことができる (Google アカウントを使用すると仮定して)、シリアライズ/デシリアライズが自動的に行われる、クライアント ライブラリが生成される、などです。 Javascript クライアントのみをサポートできます。これらのことが良ければendpoints、あなたにぴったりかもしれません。これらが当てはまらない場合は、より直接的に RequestHandlers を自分で使用してください。

を使って簡単なAPIを作ることができましたendpoints。レコード、データセット、移動の 3 つの主要なリソースがあります。Recordオブジェクトはデータの最小単位です。Datasetオブジェクトはレコードのグループです。そしてMoveオブジェクトは、Dataset場所の変化のイベントを表します。私の RESTful URI は次のようになります。

GET  /records       # Get list of records
GET  /records/<id>  # Get single record
POST /records       # Create records

GET  /datasets      # Get list of datasets
GET  /datasets/<id> # Get single dataset
POST /datasets      # Create dataset

GET  /moves         # Get list of moves
GET  /moves/<id>    # Get single move
POST /moves         # Create move

これで、データを作成し、整理し、移動することができます。endpointsApp Engineのフレームワーク内でこれを完全に行うことができ、 RESTful です。

于 2015-06-08T20:25:27.040 に答える