Model i udostępnienie danych
Model danych
Przejdź do pakietu pl.edu.agh.to.school.student i zapoznaj się z klasami, które się tam znajdują. Podstawową encją naszego programu będzie Student, więc pakiet będzie zawierał wszystkie narzędzia, potrzebne do jej obsługi. Na ten moment znajdziesz tam klasę modelową Student oraz (na razie pustą) usługę StudentService. W następnych krokach zadania dodawaj wszystkie nowe klasy do tego pakietu. Niem ma to znaczenia dla Springa, ale porządkuje kod zgodnie z podejściem domain-driven.
Kontroler
Kolejnym krokiem będzie przygotowanie kontrolera dla utworzonego powyżej obiektu. W tym celu utwórz klasę StudentController.
Do tej klasy dodaj adnotację @RestController oraz dodatkowo @RequestMapping z parametrem określającym ścieżkę do naszego kontrolera, np. "students".
W klasie utwórz metodę zwracającą listę studentów, analogicznie jak wcześniej w klasie GreetingController:
@RestController
@RequestMapping(path = "students")
public class StudentController {
@GetMapping
public List<Student> getStudents() {
return List.of(new Student("Jan", "Kowalski", LocalDate.now(), "123456"));
}
}Uruchom kod i przejdź do http://localhost:8080/students (opens in a new tab) - powinien wyświetlić się stworzony obiekt studenta.
Warstwa usług
- Aby odseparować kontroler od danych, skorzystamy z warstwy usług. Wstrzyknij do
StudentControllerklasęStudentService, podobnie jak to robiliśmy na poprzednich zajęciach. - Przenieś do klasy
StudentServicemetodę zwracającą listę studentów, a następnie wywołaj ją w metodziegetStudents()kontrolera (delegacja). - Uruchom ponownie kod i przejdź do http://localhost:8080/students (opens in a new tab) - efekt powinien być identyczny, jak poprzednio.