Как я могу устранить эту ошибку 404 при запуске приложения SpringBoot с помощью Thymeleaf?

#spring-boot #thymeleaf #http-status-code-404

#весенняя загрузка #thymeleaf #http-статус-код-404

Вопрос:

У меня есть приложение Spring Boot, которое имеет зависимость thymeleaf в своем pom-файле, и index.html в каталоге resources / templates (в котором, как я понимаю, thymeleaf ищет html-файлы).

Мой контроллер выглядит так:

 @Controller
@SessionAttributes("game")
public class Controller {

@RequestMapping(value = "/start", method = RequestMethod.GET)
public String index( @ModelAttribute("model") Model model) {
    return "index";
}
 

Я проверил, что запросы из браузера попадают в метод index, но затем я получаю следующую ошибку:

 This application has no explicit mapping for /error, so you are seeing this as a fallback.

Thu Dec 10 20:45:21 CET 2020
There was an unexpected error (type=Not Found, status=404).
No message available
 

Я также попытался поработать с настройками thymeleaf в application.properties, но безрезультатно:

 spring.thymeleaf.cache=false
spring.thymeleaf.enabled=true
spring.thymeleaf.suffix=.html
 

Я пробовал mvn clean, build и install, и я продолжаю получать 404. Любая помощь была бы очень признательна.

Ответ №1:

Вы уверены, что ваш контроллер достигнут? Когда я пробую ваш код, я получаю ошибку 500, потому что я не передаю ни одного объекта в свой шаблон. Попробуйте это и проверьте, получаете ли вы что-то в своем браузере или консоли IDE:

   @RequestMapping(value = "/start", method = RequestMethod.GET)
       public String index(Model model) {
       System.out.println("hello");
       return "index";
  }
 

Ответ №2:

Обновление до последней версии SpringBoot устранило проблему. Я предполагаю, что я импортировал новейшую версию thymeleaf, и она была несовместима с устаревшим SpringBoot.