7

同形のシングルページアプリを実装するときに、クライアントが更新のためにヒットするプライベートAPIも開発したことは暗示的だと思います。

私の質問は、コードの変更をサーバーにプッシュすると、古いクライアント コードをまだ実行している「古い」クライアントが存在し、互換性のないパラメーターと仮定で API をヒットすることです。

考えられる解決策は 2 つあります。

  1. API をバージョン管理します。クライアント コードは、現在のバージョン番号で API をヒットする必要があります。サーバー コードがバージョニング ロジックで肥大化します。
  2. ある種のソケット/プッシュ メッセージングを実装して、展開が発生するたびに最新の展開されたコードを取得するためにページ全体を更新するようにクライアントに指示します。(これらの接続は、サーバーの展開後もそのまま維持されますか?)

(サポートするモバイル アプリ クライアントもある場合は、API のバージョン管理が必要ですが、単なる Web サイトの場合は、多くの不必要な作業のように思えます。)

他の誰かがこの問題に遭遇したり解決したりしますか? 私が見逃している他のオプションはありますか?

4

2 に答える 2

1

2つのテクニックを組み合わせることをお勧めします。API のバージョンを管理し、API 呼び出し時にサーバーによって実行されるバージョン チェックを行うことをお勧めします。バージョンが最新バージョンと等しくない場合は、完全な更新を行うように通知するメッセージをクライアントに送り返します。

このようにして、さまざまなバージョン管理ロジックの束でコードが肥大化することはありません。すべての呼び出しの最初に呼び出され、クライアントが古くなっている場合に更新するメッセージを返す検証関数を作成するだけです。

于 2015-08-02T02:34:30.753 に答える