![](/img/trans.png)
[英]How Do I Save A Mock API Call To 2 Places Using json-server?
[英]How do I access an object in an array from an API hosted by json-server
我正在使用 json-server 在我的项目中托管 API。
json-server 给我的是http://localhost:3000/records
。
{
"record": [
{
"userID": "2",
"userFirstName": "Arya",
"userLastName": "Stark",
"userMiddleName": "null",
"roleName": "Admin",
"roleID": "1"
},
{
"userID": "1",
"userFirstName": "John",
"userLastName": "Snow",
"userMiddleName": "null",
"roleName": "Moderator",
"roleID": "1"
}
]
}
我正在使用 Postman 向服务器发出GET
请求。
如何进入record
数组并访问userID
为2
的对象?
我试过这种方式,但它返回一个空对象。
如果我错了,请纠正我:
http://localhost:3000/records/record?userID=2
我的实际 JSON 对象文件:
{
"records": {
"record": [
{
"userID": "2",
"userFirstName": "Arya",
"userLastName": "Stark",
"userMiddleName": "null",
"roleName": "Admin",
"roleID": "1"
},
{
"userID": "1",
"userFirstName": "John",
"userLastName": "Snow",
"userMiddleName": "null",
"roleName": "Moderator",
"roleID": "1"
}
]
}
}
稍微改变一下你的 JSON 结构:
{
"records": [
{
"userID": "2",
"userFirstName": "Arya",
"userLastName": "Stark",
"userMiddleName": "null",
"roleName": "Admin",
"roleID": "1"
},
{
"userID": "1",
"userFirstName": "John",
"userLastName": "Snow",
"userMiddleName": "null",
"roleName": "Moderator",
"roleID": "1"
}
]
}
然后http://localhost:3000/records?userID=2
返回
[
{
"userID": "2",
"userFirstName": "Arya",
"userLastName": "Stark",
"userMiddleName": "null",
"roleName": "Admin",
"roleID": "1"
}
]
除了解决实际访问问题之外,我还无法找到基于对象属性进行过滤的解决方案,这些对象属性是存储在 db.json 对象的属性中的数组的一部分。
很简单,但您是否尝试过只使用/records/record/2
json-server模块从用户那里拿走了大部分实现,这可能会起作用,因为它被设计为一个快速的 REST API 来让人们开始。
查看文档页面上的示例或查看此处运行的 API http://jsonplaceholder.typicode.com/因为它使用相同的代码。
您必须在服务器端更改某些内容以根据请求参数过滤请求
或者只是使用javascript:
data.records.record.filter((user)=>user.userID==2)[0]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.