Вызов 2 метода PostMapping на один адрес

У меня есть 2 формы с методами POST в одном html-файле.

Как я могу в Controller обрабатывать запрос первой формы когда нужно и обрабатывать запрос второй формы когда нужно?

То есть когда я нажимаю на button первой формы, я хочу вызывать метод (например "Form1"), а когда нажимаю на button второй формы, я хочу вызвать метод "Form2".

<form th:action="@{/finish_registration}" th:object="${newUser}" method="post">
           ...
        <form th:action="@{/finish_registration}" th:object="${newUser}" method="post" enctype="multipart/form-data">
            <div style="padding-top: 1rem;">
                <label for="file-upload" class="btn btn-sm main_btn">
                    Upload Image
                </label>
                <input id="file-upload" type="file" name="file" class="btn btn-sm main_btn"/>
               <button type="submit" class="btn btn-primary btn-sm col-sm-7"/>
            </div>
        </form>
         ...
        <button type="submit" value="Registration" name="save" class="btn btn-primary btn-sm col-sm-7"/>

</form>

Ответы (1 шт):

Автор решения: Roman C

Итак одна форма может маппиться на один метод в контроллере, но нажатие кнопки может поменять назначение формы. Так, например

<button value="Registration 1" onclick="form.action='/finish_registration/Registration1;form.submit()">
<button value="Registration 2" onclick="form.action='/finish_registration/Registration2;form.submit()">

Соответственно на разные методы ставить соответствующую аннотацию.

@RequestMapping("/finish_registration/Registration1")
@RequestMapping("/finish_registration/Registration2")
→ Ссылка