【问题标题】:@RequestMapping cannot be resolved to a type - Only for @Controller and not for @RestController@RequestMapping 无法解析为类型 - 仅适用于 @Controller 而不适用于 @RestController
【发布时间】:2019-07-01 09:35:27
【问题描述】:

我们正在从头开始一个 (Spring Starter Project) 项目。当我们在 controller 中创建一个用 @Controller 注释的类(第一个也是唯一一个)并尝试为方法添加 @RequestMapping 时,它给出了错误说 @RequestMapping 无法导入。

现在,当我们给@RestController 时,@RequestMapping 已正确导入,我们再次尝试使用@Controller 进行注释以查看导入问题是否仍然存在,但没有任何反应。这意味着当使用@RestController 注释时,它会被导入,而当第一次使用@Controller 注释时,它不会被导入。这是为什么呢?

带控制器(第一次)

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RestController;

@Controller
public class DashBoardController {

    @RequestMapping  // CTE - RequestMapping cannot be resolved to a type
    public String defaultGreeting() {
        return "Good day!!";
    }
}

使用 RestController

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DashBoardController {

    @RequestMapping("/home")
    public String defaultGreeting() {
        return "Good day!!";
    }
}

所以在使用RestController之后RequestMapping可以很容易地导入,那么如果我们尝试删除导入语句并将其修改为ControllerRequestMapping将无法导入。

【问题讨论】:

  • 您能否分享您收到的错误消息,因为我们将“@RequestMapping”与“@Controller”和“@RestController”互换使用,没有任何问题?
  • 请添加一些示例代码来识别问题.. @Arun
  • @Raghvendra Garg 很简单,就像如果您尝试在没有 jar 的情况下导入某些类,则 Eclipse 会给出无法导入的错误消息。注释甚至没有出现在建议中
  • 您可以随时导入任何注释。这是在编译时解决的。 Spring Boot 仅在运行时发挥作用。所以请显示添加一些代码并添加特定的错误消息。 ...无法导入不够具体,无法帮助您。
  • 能分享一下你正在使用的spring-boot版本吗?

标签: java spring-boot import spring-tool-suite request-mapping


【解决方案1】:

这个问题是由于 .m2 中缺少一些依赖项引起的,请尝试删除它并重新下载包。另外,检查您是否在版本中没有任何兼容性问题 它为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 2020-08-21
    • 1970-01-01
    • 2013-03-30
    • 2015-08-15
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多