Spring Bootを使用して、新しいユーザー登録を処理する私のRegisterController
にいくつかのメソッドがあります。同じコントローラ内の異なるメソッドの@RequestMapping値を取得する
createNewUser
メソッドは、新しいユーザーをデータベースに保存し、一意のトークンを持つリンクを含む確認電子メールを送信する役割を担います。
confirmUser
メソッドは、確認リンクのGET要求を処理します。
createNewUser
メソッドで@RequestMapping
の値をconfirmUser
に割り当てる方法はありますか?この値をハードコーディングする代わりに確認リンクを生成するために使用したいと思います。
// Process form input data
@RequestMapping(value = "/register", method = RequestMethod.POST)
public ModelAndView createNewUser(@Valid User user, BindingResult bindingResult) {
}
// Process confirmation link
// Link in confirmation e-mail will be /registerConfirmation?token=UUID
@RequestMapping(value="/registerConfirmation", method = RequestMethod.GET)
public ModelAndView confirmUser(@RequestParam("token") String token) {
}
confirmUserサービスをcreateNewUserとマージしないと、確認応答が返されます。 –
@PratikAmbani confirmUser()は、ユーザーが電子メールの確認リンクをクリックしたときにのみ呼び出されるべきです。 createNewUser()メソッドは、登録フォームに必要事項を記入したものです。 –
ところで、HTTP GETリクエストで状態を変更するのは良い習慣ではありません(DB内のユーザー情報を確認して更新したことを確認してください)。したがって、 'confirmUser'メソッドをHTTP POSTに変更することをお勧めします。 –