Hej, Zacznijmy od analizy tego fragmentu :
responseEntity.ok(knightService.getAllKnights());
tutaj zwracany jest status do klienta, to co zwracasz zależy od tego "co aplikacja po stronie klienta oczekuje" :
Tutaj w APLIKACJI POSTMAN : otrzymasz status ( OK -> 200 jako kod HTTP ), natomiast body, ciało to jest zwrócenie wszystkich "rycerzy" i to otrzymasz jako RESPONSE_BODY z serwera, co będzie wyświetlone w postmanie dla przykładu z aplikacji której pisałem, body może wyglądać tak dla np. produktu
Takie zastosowanie jest kiedy PO STRONIE KLIENTA masz np serwer również postawiony, czy inne API-framerowk cały, więc logika tego co tam się dzieje jest w komponentach serwisu klienta.
Np. korzystasz wtedy z Angulara, Reacta itd. gdzie tworzysz całe API w js po stronie serwera z node.js np.
Tutaj wtedy po stronie klienta, np masz obsługę, że jeśli serwer zwróci właśnie zasób + status OK to wykona się takie i takie działanie, czy odebranie tego obiektu przesłanego w metodę responseEntity
Natomiast GetMapping to jest adnotacja, która dla danego zasobu ( URI,Endpoint) wywoływana jest dla metod GET, natomiast to wiesz. Więc dalej analizując fragment kodu co do pierwszego: Generalnie tymianek tzn thymeleaf to tylko szablon styli - silnik, więc stosując go zwykle pracujesz tylko po stronie Javy( aplikacje nie tworzysz wtedy po stronie jakby klienta, a np z wykorzystaniem jsp, albo właśnie wtedy SPRING MVC który korzysta z servletowego rozwiązania strony klienta
- org.springframework.web.servlet.View
- org.springframework.web.servlet.ViewResolver
więc on oczekuje modelu i atrybutu, toteż to musisz konfigurować po stronie serwera Javy.