【问题标题】:I have searched every post but I could not solve my error我已经搜索了每个帖子,但我无法解决我的错误
【发布时间】:2020-07-13 03:16:54
【问题描述】:
package com.books.bookstore.controller;

import org.springframework.stereotype.Controller;

@Controller
public class HomeController {

    @RequestMapping(value = "/")
    public String index() {
        return "index";
    }

    @RequestMapping(value = "/myAccount")
    public String myAccount() {
        return "myAccount";
    }
}

https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.springframework.boot spring-boot-starter-parent 2.2.6.发布 com.bookstore 书店 0.0.1-快照 书店 这是我的项目的描述。

<properties>
    <java.version>1.8</java.version>
</properties>

<dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

http://localhost:8081/myAccount

白标错误页面 此应用程序没有 /error 的显式映射,因此您将其视为后备。

2020 年 4 月 1 日星期三 14:36:39 出现意外错误(类型=未找到,状态=404)。 没有可用的消息

【问题讨论】:

  • 请完成您的问题。不清楚你在问什么
  • 您收到的错误是什么?
  • Whitelabel 错误页面 此应用程序没有明确的 /error 映射,因此您将其视为后备。 Wed Apr 01 14:36:39 EAT 2020 出现意外错误(类型=未找到,状态=404)。没有可用的消息
  • 你正在进行的 api 调用的 URL 是什么?
  • 感谢 Hemant KUMAR 先生的回复localhost:8081/myAccount

标签: java spring spring-boot


【解决方案1】:

使用@GetMapping 是另一个简单的解决方案

@GetMapping("/")
@ResponseBody
public String index() {
    return "index";
}

【讨论】:

  • 感谢大家的帮助。终于成功了。
【解决方案2】:

我相信您想从这些控制器方法返回视图,例如 - index.html/index.jsp

在您的项目中配置视图解析器。这是围绕它的好文章。 https://www.baeldung.com/spring-mvc-view-resolver-tutorial

另外,如果您只需要从 API 返回 JSON 响应,请添加注释 @ResponseBody 在您的方法之上,例如 -

    @RequestMapping(value = "/")
    @ResponseBody
    public String index() {
        return "index";
    }

附: - 在您的 API 中使用适当的 HTTP 方法是一种很好的做法

@RequestMapping(value = "/", method = RequestMethod.GET)

编辑:

  • 您可以使用@GetMapping,而不是使用@RequestMappingmethod 参数
  • 如果这是一个 REST 控制器,而不是向每个方法添加 @ResponseBody,请使用 @RestController 而不是 @Controller 注释类。

P.J.Meisch

【讨论】:

  • 感谢库马尔先生的回复。
  • 我的问题在添加 @RequestMapping(value = "/myAccount") public String myAccount() { return "myAccount"; }
  • 我已经按照您的建议进行了一些更改,但仍然出现相同的错误
  • 我想要导入 org.springframework.web.bind.annotation.RequestMapping;导入 org.springframework.web.bind.annotation.RequestMethod;
猜你喜欢
  • 2023-01-13
  • 2021-06-29
  • 2015-09-22
  • 1970-01-01
  • 2021-03-16
  • 2023-01-24
  • 2019-12-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多