Commit 7695428f by Patryk Czarnik

@Valid

parent 5b2a3121
package sklep.controller;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
......@@ -56,15 +57,17 @@ public class ProductController {
}
@PostMapping({"/{id}/edit", "/new"})
public String saveProduct(Product product) {
public String saveProduct(@Valid Product product) {
// W tej wersji dane z wypełnionego formularza odbieramy w postaci jednego obiektu Product.
// Na taki obiekt mówi się czasami "form backing bean".
// Spring sam wpisze dane do pól o takich samych nazwach.
// Taki parametr od razu staje się częścią modelu (to jest tzw. ModelAttribute)
// Gdyby obiekt nie spełniał warunków walidacji, to zostanie odrzucony przez metodę save. Będzie wyjątek.
// W tej wersji z adnotacją @Valid obiekt jest walidowany przed wywołaniem tej metody.
// Jesli nie spełnia warunków → bład 400.
System.out.println("id przed zapisem: " + product.getProductId());
// Gdyby obiekt nie spełniał warunków walidacji, to zostanie odrzucony przez metodę save. Będzie wyjątek.
productRepository.save(product);
System.out.println("id po zapisie: " + product.getProductId());
return "product_form";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment