イベントクーポンを発行するAPIを作ります。ルールは一つだけ — 一人のユーザーは クーポンを一度だけ受け取れます。すでに受け取ったユーザーがもう一度リクエストしたら、 そのリクエストは拒否しなければなりません。 CouponService.issue を完成させてください。
Spring Boot 3 と JPA(インメモリ H2)でイベントクーポンを発行するAPIを完成させる 問題です。ルールは一つ — 一人のユーザーはクーポンを一度だけ受け取れ、すでに受け取った ユーザーが再度リクエストしたら拒否されなければなりません。コントローラはHTTPの境界 だけを担い、発行ルールはサービスで扱う構造で書きます。
「一人につき一枚」のように上限が決まった発行では、同じリクエストがもう一度来たときに 結果がそのまま保たれるかが重要なテーマです。画面でボタンをもう一度押したり、モバイル ネットワークが切れてつながり同じリクエストが再送されることはよくあります。だから発行の ような書き込みでは、「この上限をどう守るか」をサーバー自身が責任を持って設計する必要が あります。この問題は単一インスタンス・単一スレッドの範囲でその上限ルールを扱います。