私は、SpringブートアプリケーションとしてホストされているUI(角)を持っています。 UIはREST API(Jersey)と通信します。 メンテナンス中のアプリケーション全体またはその一部がREST:Webサイトのメンテナンスを処理します
(1)私はよく分かりませんが、今訪問した人にメンテナンスWebページを表示する方法(角張っているか、バックエンド、そしてどのように?)。
2)既にウェブサイトの一部にいるユーザーの場合、リフレッシュする必要があることを通知するにはどうすればよいですか。
3)既にウェブサイトの一部にいるユーザーの場合、更新されない場合や、メンテナンスが終了した場合、古い無効なデータを含むPOSTリクエストを送信した場合、 ?
注:ウェブサイトにはユーザー認証がありません。
3番目の例の例: UIにはデータベースからのレコードのリストが表示され、ユーザーは現在レコードの1つを変更していますが、バックエンドはメンテナンスに移行します。このユーザーは、バックエンドが再び利用可能になると、変更されたデータを送信します。しかし、このデータは現在無効です。それをどのように識別でき、おそらくそれについてユーザーに知らせることができます。
かなり詳細な説明をありがとう。 ええええええええええええええええええええええええええええええええええええええええええええええええええええるのは、 2番目の質問について、レコードがデータベースに追加(または削除)された場合、現在のユーザーが画面上でこれらのレコードを使用している場合は無効になり、変更後に変更されたレコードをAPIに送り返すとそれから私はそれが古いページから来て、おそらくそれを無視することを識別する必要があります。 – gaurav5430
この場合、現在の状態のハッシュを生成し、応答とともにETagヘッダーとして送信します。メンテナンス中に、何らかのロジックの状態が変更された場合は、レコードを更新する試みが前提条件が満たされていないため(現在のETag値が更新しようとしているユーザーとは異なる)、無効なデータを処理していたクライアントが失敗します。メンテナンス中に状態が変更されず、ユーザーが「古い」状態を更新した場合、古いデータは更新前の状態と同じであるため、更新は成功し、したがって矛盾はありません。 –