0

質問は、サーバー側の開発を対象としています。

REST API を作成するときは、デスクトップ アプリケーションとモバイル アプリケーションの両方で使用できるように記述したいと考えています。

次の 2 つの方法が考えられます。

  1. 各 API はページネーションをサポートする必要があり、一度に取得するデータ量の責任はクライアントに委任する必要があります。そのため、モバイル アプリは一度に要求するページの数を減らし、デスクトップ アプリケーションはより多くのページを要求します。

  2. 個別にホストされるモバイル デバイス用の個別の API。フロントエンド Web サーバーは、ユーザー エージェント (つまり、要求の送信元) を確認し、それがモバイル デバイスの場合は、モバイル デバイス用の API をホストするサーバーに要求を再ルーティングします。

これに関するより多くの戦略を知りたいと思っています。

あなたの意見に感謝します。

4

2 に答える 2

0

オプション(1)に近いものをお勧めします。クライアント間の主な違いが一度に要求するデータの量である場合、たとえば、返すレコードの数を示す何らかのクエリパラメータまたはHTTPヘッダーをRESTAPIに追加するのは簡単なようです。

ヘッダーのチェックに依存するUser-Agentと、既知のクライアントユーザーエージェントのリストを維持し、それらと照合する必要がある場合があります。これは、別のAPIの追加の維持コストになります。

于 2013-02-28T07:21:09.710 に答える
0

(1)と(2)の両方を少し提案します。その方法は次のとおりです。

モバイル自体のまったく新しい API を再構築する代わりに、サポートされているすべてのデバイス用のアダプターを用意します。つまり、選択したモバイル デバイスに適したコンテンツを返すように基になるサービスをレンダリング/指示する REST API 実装の上にレイヤーがあります。

ページネーションについては、上記の抽象化からの入力としてページネーションをパラメーター化できます。

于 2013-02-28T08:46:36.360 に答える