SpringBoot的Controller层没有生效?

2024-01-03 04:38:11

@RestController 是 Spring Framework 中用于构建 RESTful Web 服务的注解。如果你的 @RestController 不生效,可能有几个原因。以下是一些可能的解决方案:

1.? 正确的依赖和版本: 确保你的项目中包含了正确的 Spring Boot 依赖,并且版本是兼容的。你可以在 pom.xmlbuild.gradle 文件中检查依赖。

2.??主应用程序类位置: 确保 @SpringBootApplication 注解标记的主应用程序类位于根包下或者使用 @ComponentScan 指定扫描的包。

3.? 包扫描设置: 如果你的 @RestController 类不在主应用程序类的包或其子包下,确保使用 @ComponentScan 注解扫描到包含你的 @RestController 类的包。

4.? Spring Boot 启动日志: 启动应用程序时查看控制台输出,Spring Boot 通常会打印出哪些包被扫描到以及是否发现了 @RestController 类。这可以帮助你确定是否有包扫描问题。

5.? 端口冲突: 确保应用程序启动的端口没有被其他应用程序占用,默认情况下是8080。你可以在 application.propertiesapplication.yml 中设置端口。

6.? URL路径问题:?

?????????(1)? 路径斜杠问题: 注意在路径中使用斜杠的方式。通常情况下,以斜杠开头的路径表示相对于应用程序的根路径,而不以斜杠开头的路径表示相对于当前路径。

? ? ? ?? (2)? 路径变量: 如果你在路径中使用了变量,确保使用 @PathVariable 注解将变量与方法参数关联。

!!!重点!!!? ?: 因为经常不使用路径拼接请求,所以很容易忽略,当请求体是路径参数拼接的时候,直接写参数或者加@Param("参数名"),而不是使用@PathVariable来接收路径参数.

当然,尽量不要使用路径拼接参数,安全性不好.

这是postman测试返回数据,可以作为参考

{
    "timestamp": "2024-01-02T06:33:35.304+0000",
    "status": 404,
    "error": "Not Found",
    "message": "No message available",
    "path": "/business/productCategory/categoryTree"
}

文章来源:https://blog.csdn.net/qq_58968195/article/details/135352300
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。