我试图让Json-Server(v 0.12.1)在不需要中间件或将其用作组件的情况下工作 - 如果我打算花点时间,我已经有了一些正常的工作手动编码所有端点。我被简单的路由配置所吸引,我相信我应该能够使用它而不需要routes.json
和db.json
(让我删除很多样板文件)。
我的db.json:
"users": [
{
"userId": 1,
"favoriteColor": "red"
},
{
"userId": 2,
"favoriteColor": "blue"
},
{
"userId": 3,
"favoriteColor": "green"
}
]
我的routes.json:
{
"/api/users": "/users",
"/api/users/:userId": "/users/:userId"
}
我希望能够拨打GET:http://localhost:3000/api/users/2
并获取
{
"userId": 2,
"favoriteColor": "blue"
}
作为回报。但是,我总是得到{}
。
尝试使用来自SO的一些建议,无论是更改数据结构(我无法控制)还是使用过滤器(返回数组,而不是对象)都不适合我。
有谁知道为什么这条看似简单的路线不起作用?我相信我正在关注custom route guidelines。我正在使用json-server --watch ./api/db.json --routes ./api/routes.json
启动服务器,并且点击http://localhost:3000/api/users
会完全返回我的预期,因此我知道routes.json
文件和db.json
文件都已成功获取。
谢谢!
答案 0 :(得分:1)
我必须使用以下命令启动服务器:
json-server --watch db.json --routes routes.json
db.json
{
"users": [
{
"id": 1,
"first_name": "Sebastian",
"last_name": "Eschweiler",
"email": "sebastian@codingthesmartway.com"
},
{
"id": 2,
"first_name": "Steve",
"last_name": "Palmer",
"email": "steve@codingthesmartway.com"
},
{
"id": 3,
"first_name": "Ann",
"last_name": "Smith",
"email": "ann@codingthesmartway.com"
}
]
}
routes.json
{
"/api/users": "/users",
"/api/users/:id": "/users/:id"
}