source: src/main/java/com/example/cookbook/controller/HomeController.java@ aea04dd

Last change on this file since aea04dd was aea04dd, checked in by Blazho <aleksandar.blazhevski@…>, 5 months ago

Dodadeni se komentarite pod sekoj recept

  • Property mode set to 100644
File size: 2.8 KB
Line 
1package com.example.cookbook.controller;
2
3
4import com.example.cookbook.model.Komentar;
5import com.example.cookbook.model.Recept;
6import com.example.cookbook.model.Slika;
7import com.example.cookbook.model.Sostojka;
8import com.example.cookbook.model.exception.ReceptNeEPronajdenException;
9import com.example.cookbook.service.KomentariService;
10import com.example.cookbook.service.ReceptService;
11import com.example.cookbook.service.SlikiService;
12import com.example.cookbook.service.SostojkiService;
13import org.springframework.stereotype.Controller;
14import org.springframework.ui.Model;
15import org.springframework.web.bind.annotation.GetMapping;
16import org.springframework.web.bind.annotation.PathVariable;
17
18import java.sql.SQLException;
19import java.util.List;
20
21@Controller
22public class HomeController {
23
24 private final ReceptService receptService;
25 private final SlikiService slikiService;
26
27 private final SostojkiService sostojkiService;
28
29 private final KomentariService komentariService;
30
31 public HomeController(ReceptService receptService,
32 SlikiService slikiService,
33 SostojkiService sostojkiService, KomentariService komentariService) {
34
35 this.receptService = receptService;
36 this.slikiService = slikiService;
37 this.sostojkiService = sostojkiService;
38 this.komentariService = komentariService;
39 }
40
41 @GetMapping({"/", "/recepti"})
42 public String getHomePage(Model model){
43
44 List<Recept> recepti = null;
45 try {
46 recepti = receptService.listAll();
47 } catch (SQLException e) {
48 return "redirect:/error-page/SQL%20Exception";
49 }
50 model.addAttribute("recepti", recepti);
51 return "home";
52 }
53
54 @GetMapping("/recept/{id}")
55 public String getReceptPage(@PathVariable Long id, Model model){
56
57 Recept recept = null;
58 List<Slika> sliki;
59 List<Sostojka> sostojki;
60 List<Komentar> komentari;
61 try {
62 recept = receptService.findById(id);
63 sliki = slikiService.findAllPicById(id);
64 sostojki = sostojkiService.findAllById(id);
65 komentari = komentariService.findAllById(id);
66 } catch (SQLException e) {
67 return "redirect:/error-page/SQL%20Exception";
68 }catch (ReceptNeEPronajdenException e){
69 return "redirect:/error-page/" + e.getMessage();
70 }
71 model.addAttribute("recept", recept);
72 model.addAttribute("sliki", sliki);
73 model.addAttribute("sostojki", sostojki);
74 model.addAttribute("komentari", komentari);
75 return "recept";
76 }
77
78
79 @GetMapping("/error-page/{error}")
80 public String getErrorPage(@PathVariable(required = false) String error, Model model){
81
82 if (error != null){
83 model.addAttribute("error", error);
84 }
85 return "error-page";
86 }
87}
Note: See TracBrowser for help on using the repository browser.