У меня есть форма Spring, которая называется AddNewItemForm
и содержит аннотации для проверки.отправка формы на услугу
Эта форма является параметром моего метода весны RestController
addNewItem()
и будет подтверждена, результаты сохраняются в BindingResults
.
С моего контроллера мне нужно позвонить в службу. Вот мой вопрос. Это нормально, чтобы иметь метод внутри моей службы с этой подписью
public Item add(AddNewItemForm form)
или лучше иметь его как
public Item add(Item item)
Я имею в виду, что форма необходима только для проверки контроллера но службе не нужно знать об этом. Просто нужно знать, как работать с объектами.
Я полагаю, что я должен построить свой Item
в контроллере со всеми данными, которые у меня есть, а затем передать этот элемент на службу add(item)
.
Я прав?
Там могут быть случаи, когда проверка возможна на уровне обслуживания. Например. невозможно создать новый элемент, если элемент с именем уже существует или, например, владелец объекта пользователя заблокирован – StanislavL
Я строго ссылался на передачу формы, используемой в контроллере для проверки, службе. Я проверяю в обоих местах, контроллер и службу. В контроллере я проверяю входные данные формы и в обслуживании. Я проверяю почти те же самые входы против другого типа логики, как тот, на который вы ссылались. – tzortzik
Я согласен с вашим последним предложением. Проверка ввода формы в контроллере -> разбор его на сервисный объект и отправка его в службу, которая проверяет элемент. –