为什么我在使用SpringBoot进入localhost:8080 /时出现404错误

时间:2018-08-29 14:24:24

标签: spring spring-boot kotlin

因此,我已经使用Spring-Boot,Kotlin和Intellij设置了首次测试应用程序。

当我运行项目时,控制台中的所有内容似乎都可以正常启动。但是,当我在浏览器中导航到http://localhost:8080/时,它给我一个404错误和一个页面,如下所示:

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

Wed Aug 29 07:54:39 MDT 2018
There was an unexpected error (type=Not Found, status=404).
No message available

为什么不导航到我创建的页面?

主类:

package com.daniel.anderson.demo
import ... 


@SpringBootApplication
class DemoApplication

    fun main(args: Array<String>) {
        runApplication<DemoApplication>(*args)
    }

控制器代码:

package com.daniel.anderson.demo.controlers
import ... 

@Controller
class HtmlController {

    @GetMapping("/")
    fun blog(model: Model) : String {
        model.addAttribute("title","Blog")
        return "blog"
    }    
}

胡子文件: blog.mustache

{{> header}}

<h1>{{title}}</h1>
<p>hello world</p>

{{> footer}}

footer.mustache

</body>
</html>

header.mustache

<html>
<head>
  <title>{{title}}</title>
</head>
<body>

顺便说一句,我在邮递员中遇到了同样的错误。

2 个答案:

答案 0 :(得分:0)

问题出在控制器中的@Controller,如果我将注释更改为@RestController,那么它就可以了。我的理解是,我应该能够使用@Controller批注,但看来您需要@RestController

所以我在这里Spring boot error 404

发现一些真正使用完整的信息

答案 1 :(得分:-1)

我认为问题在于方法上缺少@ResponseBody注释

@GetMapping("/")
@ResponseBody
fun demo(model: Model): String {
    model["title"] = "Demo"
    return "Hello world?!"
}

这必须工作