如何从json-server托管的API中访问数组内userID为2的对象?
解决json-server中GET请求获取指定userID记录的问题
嘿,我来帮你搞定这个问题!你用json-server托管API,想拿到records数组里userID为2的对象却返回空,大概率是请求的查询参数用错了——json-server有自己的查询规则,咱们一步步来修正:
1. 先确认你的JSON数据结构
首先得确保你的JSON文件里的records数组确实存在userID为2的对象,比如你的db.json应该是类似这样的结构(举个示例):
{
"records": [
{"id": 1, "userID": 1, "title": "测试记录1"},
{"id": 2, "userID": 2, "title": "测试记录2"},
{"id": 3, "userID": 2, "title": "测试记录3"}
]
}
2. 使用正确的查询参数发送GET请求
json-server支持按字段精确匹配,你只需要在请求URL末尾加上查询参数userID=2,正确的请求地址应该是:http://localhost:3000/records?userID=2
把这个地址复制到Postman里发送GET请求,就能返回所有userID等于2的对象数组了。
3. 几个常见的错误排查点
- 注意字段名大小写:json-server是严格区分大小写的!如果你的JSON文件里字段是
userId(小写d),但你请求里写的是userID(大写D),肯定会返回空,一定要和JSON里的字段名完全一致。 - 确认服务状态:检查你的json-server是不是正常运行着,比如你是用
json-server --watch db.json命令启动的,终端里没有报错信息。 - 检查请求方式:确保你在Postman里选的是GET请求,别不小心选成了POST/PUT其他方式。
内容的提问来源于stack exchange,提问作者krsna
相关产品推荐
相关产品推荐

