JSON服务器未按ID返回单个子元素

JSON服务器未按ID返回单个子元素,json,rest,json-server,Json,Rest,Json Server,我试图让(V0.12.1)在不需要中间件或将其用作组件的情况下工作——如果我要花时间手动编写所有端点的代码,我已经有了一些可以正常工作的东西。我被简单的路由配置所吸引,我相信我应该能够使用它,而不需要任何东西,除了routes.json和db.json(让我删除了很多样板文件express的东西) My db.json: "users": [ { "userId": 1, "favoriteColor": "red" }, { "u

我试图让(V0.12.1)在不需要中间件或将其用作组件的情况下工作——如果我要花时间手动编写所有端点的代码,我已经有了一些可以正常工作的东西。我被简单的路由配置所吸引,我相信我应该能够使用它,而不需要任何东西,除了
routes.json
db.json
(让我删除了很多样板文件express的东西)

My db.json:

  "users": [
    {
      "userId": 1,
      "favoriteColor": "red"
    },
    {
      "userId": 2,
      "favoriteColor": "blue"
    },
    {
      "userId": 3,
      "favoriteColor": "green"
    }
  ]
My routes.json:

{
    "/api/users": "/users",
    "/api/users/:userId": "/users/:userId"
}
我希望能够拨打GET电话:
http://localhost:3000/api/users/2
并获取

{
  "userId": 2,
  "favoriteColor": "blue"
}
作为回报。然而,我总是得到
{}

尝试使用SO的一些建议,或者更改数据结构(我无法控制),或者使用过滤器(返回数组,而不是对象),对我来说都是行不通的

有人知道为什么这条看似简单的路线不起作用吗?我相信我是在遵循规则。我用
json服务器启动服务器——观察./api/db.json--routes./api/routes.json
,然后点击
http://localhost:3000/api/users
返回我期望的结果,因此我知道
routes.json
文件和
db.json
文件都已成功拾取


谢谢大家!

我必须用以下方法启动服务器:
json服务器——监视db.json——路由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"
}

我正在阅读json服务器的文档,看起来您可以在不定义第二条路由的情况下获取对象。你试过了吗?@funcoding我现在有了,谢谢!不幸的是,如果我省略了第二个端点并简单地调用,我会得到一个404。将“userId”改为“id”(以防有一个假定的约定)似乎也没有什么帮助。根据前面的db.json文件,您得到了一些默认路由。你是用
--routes
启动服务器的吗?这对你有用吗?@funcoding是的,我是用
json服务器--watch./api/db.json--routes./api/routes.json启动的。我不得不挠头想一想,当我们有相同的路由时,为什么你的有效而我的无效。。。但事实证明,具有
id
属性是惯例所要求的(与
userId
相反)。我以为我已经测试过了,但显然我把测试搞砸了。谢谢你强迫我再看一眼。@tengen很高兴能帮上忙!