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

Spring中如何按指定id查询数据?查询返回404错误如何解决

问题原因及修复方案

  • 类上路径映射缺少前置斜杠
    你当前Controller的@RequestMapping注解写的是@RequestMapping("api/v1"),没有以/开头,部分Spring版本不会自动补全路径前缀,导致实际可访问的接口路径是api/v1/userlist/{value}(无前置斜杠),和你调用的/api/v1/userlist/{value}不匹配,触发404。
    修复方式:把类上的注解修改为@RequestMapping("/api/v1")
  • 传参类型不匹配
    你的接口路径变量value定义的是int类型,如果你调用时传入了非数字格式的参数,Spring无法匹配到对应接口,也会返回404。修复方式:调用时确保传入的是数字类型的参数,比如你现有数据的user_id是10,调用/api/v1/userlist/10即可。
  • 上下文路径配置问题
    如果你的application.yml/application.properties中配置了server.servlet.context-path属性(比如配置为/myproject),那么实际访问路径需要加上上下文前缀,即/myproject/api/v1/userlist/10。

其他潜在问题修复

你当前的代码还有后续可能触发报错的问题,建议同步修改:

  • Repository方法的参数类型和数据库user_id类型不匹配,你的JpaRepository主键定义为Long类型,建议把getUserDetails(int value)修改为getUserDetails(Long value),同时Controller层的@PathVariable int value同步修改为@PathVariable Long value,避免类型转换异常。
  • 确保你的Users实体类字段和数据库字段映射正确,比如数据库的first_name、user_id字段,需要在实体类对应属性上添加@Column(name = "first_name")、@Column(name = "user_id")注解,否则查询返回的结果对应字段会为空。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 16:18:04