5

WebApiプロジェクトで構築しているRecipeManagerアプリケーションがあるとします。レシピのリストとその材料名をJSONで送信しますか?それとも、レシピ、材料名、材料の詳細を送信しますか?SPAの初期ペイロードの大きさを決定するプロセスは何ですか?

4

4 に答える 4

12

これらは、最初のページでクライアントに送信する量を決定する要因です。

  1. その最初のページに表示されるデータ
  2. そのページのドロップダウンのリストデータを検索する
  3. 必要なデータと表示ルール(表示されない場合がありますが、使用されます)

レシピのリストを表示するレシピページで、リストに表示できるレシピといくつかの重要な要素(レシピ名、料理、その他の重要な情報など)を表示します。ユーザーが何を選ぶかを決定するのに十分です。次に、ユーザーがレシピに飛び込んだら、その1つのレシピの詳細を取得します。

一般的なルールは、ユーザーがほぼ確実に必要とするものを事前に入手することです。次に、要求に応じて他のデータを取得します。

于 2013-03-05T01:50:59.673 に答える
6

送信するデータの量を決定するプロセスは、ユーザーに提供するエクスペリエンスにのみ依存しますが、これと同じくらい簡単です。私の経験では、すべてのレシピを簡単な説明とともに簡単に表示してから、レシピにドリルダウンしてより多くの情報を取得できるようにする必要がある場合は、表示を生成してエンティティにさらにナビゲートするのに十分な情報を送信するだけです。 。

その後、レシピに移動した後、材料名とメジャーを表示する必要がある場合は、それと、単一の材料にさらに移動するのに十分な情報を送信します。

そしてあなたが見ることができるようにそれはただ続くだけです。

于 2013-03-04T18:59:22.683 に答える
4

アプリケーションがWebページをサポートする単純なHTTPAPIであるか、それともPlatform AsAServiceに似た目標であるかによって異なります。SPAを採用するための1つの推進要因は、iOSやAndroidアプリ、またはサードパーティのように、ブラウザを別のクライアントにすることです。

複数のクライアントをサポートする場合は、公開しようとしているリソースを中心にAPIを設計して、そのリソースに対してGET / POST/PUTなどの統一されたインターフェイスを使用できるようにする必要があります。これは、クライアント固有のスタイルでコーディングしていない可能性がはるかに高く、APIがさまざまなクライアントで使用できることを意味します。

リソースとは、独自のURNが必要なものです。

この場合、個々のレシピリソースへのリンクを持つレシピブックリソースが必要になる可能性があります。このリソースには、おそらくそのレシピに必要なすべての情報が含まれています。材料に含まれるものについてより深く理解し、独自のリソースを持っている場合にのみ、材料は別個のリソースになります。

Huddleでは、ドキュメント主導の設計アプローチを使用しています。つまり、APIの使用可能性を理解できるように、APIのドキュメントを事前に作成します。WTFでAPI品質を測定できます。http://code.google.com/p/huddle-apis/

現在、この論理的な分割は、パフォーマンスの観点から最適ではない可能性があります。ここでは、APIの使いやすさとAPIのパフォーマンスの間で、従来のトレードオフ(最終的には、アーキテクチャは設計のトレードオフのバランスを取ることがすべてです)に対処します。通常、パフォーマンスが問題であることがわかるまでは、パフォーマンスを優先しないでください。初期の最適化では、使いやすさや保守性にペナルティが課せられるためです。

于 2013-03-05T09:30:42.270 に答える
0

もう1つの可能性は、WebAPIのODataクエリサポートを実装することです。http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api

そうすれば、クライアントは独自のクエリを実行して、必要なデータのみを返すことができます。

于 2013-03-19T12:34:02.293 に答える