ユーザー登録を登録フォームにメールアドレスを入力して行うと、メールアドレスを確認するために、期限付きのトークンが付与されたURLを記載したメールをユーザーに送信する部分を昨日、バックエンドの勉強のために作り始めた簡易ウェブアプリに実装しました。
例えば、メールに記載されるURLは以下のようなものです。
https://_______.com/verify?token=joafjaiejoiomovaeoioje
このURLからのリクエストを受け付けるバックエンド側ではトークンを検証して、検証で問題なければこのトークンに紐づくユーザーをDBから取得し、そのユーザーのメアド確認済みフラグをtrueに変更し、DBに更新をかけています。
この場合、困ったのが、エンドポイントで受け付けるメソッドをPUTやPATCHにしてしまうと、仮登録後に送信されるメール内のリンクをクリックした時に、ブラウザーで該当ページを表示すると、そんなエンドポイントないと400系のエラーが出てしまったのです。
リンクだから自ずとGETになるのだなと思い、エンドポイント側の受付メソッドもそれに応じて、GETに変更し、とりあえず、やりたいことは実現することが出来ました。
しかし疑問として、GETメソッドを受け付ける側でDBテーブルに追加や更新をかける処理って、GETのイメージと異なるものがあり、自分がやっているのは果たして正しいのだろうかと思ってしまいました。
自分のやり方が間違っているのでしょうか?それとも、こういう場合はこういうものなのでしょうか?
ご教示いただけると大変ありがたいです。よろしく御願いいたします。
回答2件
あなたの回答
tips
プレビュー