无法从 Spring 引导方法 return Freemarker 视图

Unable to return Freemarker view from a Spring Boot method

目前我在做一个小项目,需要用到SpringBoot和FreeMarker模板引擎。我尝试了不同的方法,但我仍然无法从 Spring Boot 中 return FreeMarker 视图。我的项目使用 Gradle 作为构建工具,这是里面的内容:

build.gradle:

plugins {
    id 'org.springframework.boot' version '2.3.3.RELEASE'
    id 'java'
}

apply plugin: 'io.spring.dependency-management'

sourceCompatibility = 11

repositories {
    mavenCentral()
}

sourceSets.main.resources.srcDirs = ["src/resources"]

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    compile("org.springframework.boot:spring-boot-starter-web")
    implementation 'com.google.code.gson:gson:2.8.5'
    implementation 'org.springframework.boot:spring-boot-starter-freemarker'

}

这是我希望使用列表重定向到 FreeMarker 视图的方法,相反,当我向此 URL 发送 GET 请求时,我只得到“index”字符串显示:

@GetMapping(path = "/code/latest")
public String getTop10LatestCode(@ModelAttribute("model") ModelMap model) {
    model.addAttribute("codes", codes.subList(Math.max(0, codes.size() - 10), Math.max(codes.size() - 1, 0)));
    return "index";
}

这是我的 application.properties 文件:

server.port=8889
management.endpoints.web.exposure.include=*
management.endpoint.shutdown.enabled=true

spring.freemarker.template-loader-path=classpath:/templates/
spring.freemarker.suffix=.ftlh

我的 FreeMarker 视图已经在 resources 文件夹内的 templates 文件夹下。

这是我的项目结构:

非常感谢任何帮助,谢谢。

我想通了,我的class是用@RestController注解的,它本身就是@Controller@ResponseBody注解的组合,因为每个我的 class 中的方法将返回一个响应正文,即使是我在此处发布的那个,这就是它 returns 正文的原因,因此 returns index。我需要将 @RestController 更改为 @Controller,问题就解决了。