我使用json-server在我的项目中托管API。
json-server给我的是{
"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"
}
]
}
。
GET
我使用POSTMAN向服务器发出record
请求。
如何进入userID
数组并使用2
作为http://localhost:3000/records/record?userID=2
访问该对象?
我试过这种方式,但它返回了一个空对象。如果我错了,请纠正我。
{
"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目标文件:
omp
答案 0 :(得分:2)
稍微改变一下你的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对象属性中的数组的一部分。
答案 1 :(得分:1)
很简单,但是你尝试过使用/records/record/2
json-server模块将大部分实现从用户手中夺走,这可能会起作用,因为它被设计成一个快速的REST API来让人们开始。
查看文档页面上的示例或查看此处运行的API http://jsonplaceholder.typicode.com/,因为它使用相同的代码。
答案 2 :(得分:0)
您必须根据请求参数更改服务器端的内容以过滤请求
或者只使用javascript:
data.records.record.filter((user)=>user.userID==2)[0]