spring boot请求接口地址报404的几种情况
1 接口地址错误,这个不用解释了吧,就是地址搞错了
2 请求方法错误,如:get,你用了post
3 使用了spring security,没有开放这个接口,导致请求不到
4 在application.yml的配置文件里为servlet添加了context-path配置,如:
server:
port: 8129
servlet:
context-path: /share
这个时候,context-path就相当于是一个前缀,你请求的地址应该是:/share/test
5 application.yml(application.properties)的数据库连接参数配置错误,实测这个配置错误也能导致请求控制器地址报404
导致请求控制器报404的错误数据库配置示例:
spring.datasource.url=jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8
使用下面的正确数据库配置,就可以解决控制器报404的错误了:
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Chongqing&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&verifyServerCertificate=false&autoReconnct=true&autoReconnectForPools=true&allowMultiQueries=true
此外,数据库名写错,也可能导致访问控制器接口时报404,所以,请确保application.yml参数配置没有错误
参考资料:
https://www.jianshu.com/p/4b38c6729d20
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了