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

使用json-server按ID获取对象时返回404的问题排查

问题解决:json-server按ID查询404的原因及修复

问题根源

你的users.json和admins.json外层都嵌套了一层同名键(比如users.json里的users),而你在db.js中直接把导入的整个JSON对象赋值给返回对象的属性,导致json-server拿到的users数据是一个包含数组的对象,而非直接的数组。json-server要求顶层资源对应的是数组结构,才能识别其中的id字段并支持按ID查询,这就是GET /users/1234返回404的原因。

修复方法

修改db.js,从导入的JSON对象中提取出内部的数组,再赋值给返回对象的对应属性:

var users  = require('./users.json');
var admins = require('./admins.json');

module.exports = function() {
  return {
    users  : users.users,  // 提取users.json里的用户数组
    admins : admins.admins // 提取admins.json里的管理员数组
  };
}

验证

修改后重新执行启动命令json-server --watch db.js:

  • GET /users会直接返回用户数组
  • GET /users/1234可以正常查询到对应ID的用户对象
  • GET /admins和GET /admins/[ID]也会正常工作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:47:36