You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot集成Derby开发Rest API 访问/welcome接口返回404错误

排查解决步骤
  • 确认服务启动端口是否正确
    Spring Boot默认启动端口为8080,若未在application.properties/application.yml中配置server.port=8888,实际服务端口为8080,对应访问地址应为http://localhost:8080/welcome。可查看启动日志中是否有Jetty started on port 8888类的输出,确认实际监听端口。
  • 检查Security权限拦截配置
    项目引入了spring-boot-starter-security依赖,默认所有接口都需要登录认证,仅登录页可匿名访问。可先临时禁用Security验证逻辑,在启动类上添加注解@EnableAutoConfiguration(exclude = {org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class}),重启后再次访问/welcome,如果可以正常返回则说明是Security拦截导致,后续按需配置Security规则放行/welcome路径即可。
  • 检查是否配置了上下文根路径
    若配置文件中存在server.servlet.context-path配置(比如值为/api),则实际访问路径需要加上前缀,对应为http://localhost:8888/api/welcome,否则会返回404。
  • 排查容器依赖冲突
    spring-boot-starter-web默认内置Tomcat容器,项目又额外引入了spring-boot-starter-jetty,两个容器冲突会导致请求处理异常。修改build.gradle中web依赖配置,排除内置Tomcat:
    implementation ('org.springframework.boot:spring-boot-starter-web') {
        exclude group: 'org.springframework.boot', module: 'spring-boot-starter-tomcat'
    }
    
  • 确认Controller是否被正常扫描注册
    启动类和Controller同属com.example.demosb包,正常情况下@SpringBootApplication注解可以自动扫描到该路径下的组件,若未扫描到可手动在启动类上添加@ComponentScan(basePackages = "com.example.demosb")强制指定扫描路径。也可以查看启动日志中是否有Mapped "/welcome" to com.example.demosb.demoSbController.welcome()类的输出,确认接口是否被正常注册。
  • 检查代码中转义字符问题
    你贴出的代码中@GetMapping("/welcome")是HTML转义后的写法,确认实际代码中注解为@GetMapping("/welcome"),无多余转义字符导致路径配置错误。

内容的提问来源于stack exchange,提问作者shreeramaute

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 22:36:03