Zacznijmy od początku.
Aby w springu MVC zwrócić stronę po wejściu na dany adres musisz rozróżnić kilka adnotacji i to w jaki sposób działa sam spring.
Gdy definujesz sobie klasę kontrolera może ona zawierać adnotacje @Controller lub @RestController.
Adnotacja @Controller pozwoli Ci manipulować widokami, czyli efekt który chcesz uzyskać. Gdzieś tam niżej zdefiniowałeś sobie @RestController i jak Mateusz51 wspomniał jest to kontroller RESTowy. Co to znaczy? TO znaczy, ze zwracasz dane z metody kontrolera, a nie widoki. Poczytaj sobie o RESTcie, na pewno Ci się przyda gdy będziesz pisać aplikacje w springu.
Idąc dalej. @RequestBody nad metodą mówi springowi: hej! teraz chce zebyś zwracała mi dane, a nie jakieś widoki.
By otrzymać widok z konkretnej metody w kontrolerze musisz:
- zadeklarować odpowiedni mapping na tą metode (czyli adres URL) czyli: @RequestMapping("/login")
i wtedy wchodzisz na ten adres. Jeśli chesz otrzymać stronę to powinieneś użyć @GetMapping. Wtedy od razu określasz typ metody HTTP jako: GET
- zwrócić String, który odpowiada nazwie twojego widoku html, jsp etc.
Dlaczego tak? Zachodzi wtedy taka komunikacja:
Controller -> View Resolver -> Model
Tak w skrócie to:
Kontroler wysyła stringa do view resolvera. Następnie view resolver rozpoznaje stringa i kojarzy go z stroną html, zwraca widok i przesyła go dalej do modelu. W tym momencie model generuje Ci konkretny widok.