以下の実装を行います。データを削除するこれらの処理のシーケンス図が下記になります。オブジェクトが渡されます。妥当であるかを確認するため、検証する処理を実装します。Token(JWT)というフォーマットです。ここではJWTの検証として以下のライブラリを利用します。形式の公開鍵を利用して署名の妥当性を検証します。Set)は下記のようなデータ構造をしています。検証する項目は以下になります。以下のように異なる値となっています。ユーザーにアイテムを付与する「アイテムの付与」を実施する上で忘れずに対応したいのが、「アイテムの付与状態」を確認して「アイテム付与される」まで、他のプロセスによって邪魔されない(アイテムを付与されない)ことを担保することです。データを排他制御する手法を採用します。排他制御を取り入れることで、同じようなタイミングで複数プロセスからリクエストがあった際に、アイテムの間違った重複付与を防ぐことができます。データの確認も行います。この場合、エラーで処理を中止します。データを排他制御します。データを取得して確認した結果、まだユーザーにアイテムが付与されていない場合にアイテムを付与します。ここでは、以下のようなテーブルでユーザーが保持するアイテムを管理します。上記に定義したアイテム管理テーブルは、あくまでこのチュートリアル用のサンプルであり、一例です。実際にゲームに実装する際には、ゲームの要件に従ったテーブルを定義してください。ここでは、以下のようにユーザのアイテムを管理するテーブルにレコードを追加/更新することでアイテムを付与します。データの排他制御を開放します。このチュートリアルではMySQLのストレージエンジンInnoDBを利用して、行レベルでの排他制御を行っていましたが、排他制御していたトランザクションをcommitすることで排他制御を開放します。