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

Spring Boot 3.0.3项目中REST Controller无法识别导致接口404问题求助

Spring Boot 3.0.3项目中REST Controller无法识别导致接口404问题求助

嗨,我仔细看了你的代码和运行日志,很快就找到问题所在啦!

你遇到的404问题,核心原因是Controller里的@RequestMapping和@GetMapping注解用错了属性:你用了name属性来指定接口路径,但name只是给这个请求映射设置一个识别名称,根本不是用来定义URL路径的!正确的路径属性应该是value或者path(而value是注解的默认属性,甚至可以省略不写)。

看你的原Controller代码:

@RestController
@RequestMapping(name = "/api/v1")
public class ModelMockerController {

    @GetMapping(name = "/mock")
    public String hello(){
        return "Hello";
    }
}

把它改成下面这样就可以了:

@RestController
@RequestMapping("/api/v1") // 这里直接写路径,等价于@RequestMapping(value = "/api/v1")
public class ModelMockerController {

    @GetMapping("/mock") // 同理,直接写路径
    public String hello(){
        return "Hello";
    }
}

另外补充说明一下:你的项目包结构是没问题的——主启动类Water4AgriFoodMockApplication在org.crea.water4agrifoodmock根包,Controller在子包org.crea.water4agrifoodmock.controller,@SpringBootApplication注解默认会自动扫描主类所在包及其所有子包的组件,所以你之前尝试加scanBasePackages其实是多余的,根本不是扫描的问题哦。

修改完代码后重启项目,你会在日志里看到RequestMappingHandlerMapping的映射数增加,包含你定义的/api/v1/mock路径,这时候用Postman访问http://localhost:8080/api/v1/mock就能正常拿到"Hello"响应啦!

备注:内容来源于stack exchange,提问作者Gianni Spear

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 12:37:58