/
Hipahopa808
/
SpringCourse
Обзор
Документация
Войти
/
Hipahopa808
/
SpringCourse
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Lesson25.SpringJDBC/src/main/java/ru/alishev/springcourse/controllers/PeopleController.java
75 строк
2 KB
Neil Alishev
Add Lesson 25 code
03 дек 2020, 16:47
03 дек 2020, 16:47
b6951cd
Код
Авторство
О чём код?
package ru.alishev.springcourse.controllers; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import ru.alishev.springcourse.dao.PersonDAO; import ru.alishev.springcourse.models.Person; import javax.validation.Valid; /** * @author Neil Alishev */ @Controller @RequestMapping("/people") public class PeopleController { private final PersonDAO personDAO; @Autowired public PeopleController(PersonDAO personDAO) { this.personDAO = personDAO; } @GetMapping() public String index(Model model) { model.addAttribute("people", personDAO.index()); return "people/index"; } @GetMapping("/{id}") public String show(@PathVariable("id") int id, Model model) { model.addAttribute("person", personDAO.show(id)); return "people/show"; } @GetMapping("/new") public String newPerson(@ModelAttribute("person") Person person) { return "people/new"; } @PostMapping() public String create(@ModelAttribute("person") @Valid Person person, BindingResult bindingResult) { if (bindingResult.hasErrors()) return "people/new"; personDAO.save(person); return "redirect:/people"; } @GetMapping("/{id}/edit") public String edit(Model model, @PathVariable("id") int id) { model.addAttribute("person", personDAO.show(id)); return "people/edit"; } @PatchMapping("/{id}") public String update(@ModelAttribute("person") @Valid Person person, BindingResult bindingResult, @PathVariable("id") int id) { if (bindingResult.hasErrors()) return "people/edit"; personDAO.update(id, person); return "redirect:/people"; } @DeleteMapping("/{id}") public String delete(@PathVariable("id") int id) { personDAO.delete(id); return "redirect:/people"; } }