15 年間のステートフル クライアント/サーバー ソフトウェア開発の経験 (そしてそれには固有の問題があります) を持つ私は、RestFul アーキテクチャにおけるステートレスの概念をまだ理解しようとしています。
ビジネス・オブジェクトを REST サービスにポストする汎用インターフェースがあるとします。たとえば、ユーザー リソース。ユーザー リソースには、電子メール アドレスの一意性に関する制約が必要です。私の最初の反応は、基礎となるデータベース機能を使用してこれを「保証」することです。2 番目の反応は、何らかのロックまたはトランザクション メカニズムを導入することです。
しかし、私のレスファリアンの同僚は、「いいえ!」と答えます。クライアントは、新しいユーザーの電子メールが一意であるかどうかを確認する必要があり、重複した電子メール アドレスが挿入される可能性があるわずかな時間枠があるという事実を受け入れる必要があります。クライアント アプリケーションは、この競合を処理できる必要があります。
これは、私が学んだことすべてに反し、まったく自然に感じられません。教えてください...