json-server 未显示 JSON 数据的 URL

Posted

技术标签:

【中文标题】json-server 未显示 JSON 数据的 URL【英文标题】:json-server not showing URL for JSON data 【发布时间】:2021-01-03 11:09:12 【问题描述】:

我正在与json-server 合作。我已经用npm install -g json-server 安装了它,并且正在使用

json-server --watch db.json

我在 app 文件夹中添加了db.json 文件,其中包含以下数据


    "product": [
      
        "userId": 1,
        "firstName": "Krish",
        "lastName": "Lee",
        "phoneNumber": "123456",
        "emailAddress": "krish.lee@learningcontainer.com"
      ,
      
        "userId": 5,
        "firstName": "jone",
        "lastName": "mac",
        "phoneNumber": "111111111",
        "emailAddress": "jone.mac@learningcontainer.com"
      
    ]
  

但只有http://localhost:3000/ 有效。它显示

Congrats!
You're successfully running JSON Server
✧*。٩(ˊᗜˋ*)و✧*。

Resources
/posts 1x
/comments 1x
/profile object
To access and modify resources, you can use any HTTP method:

GET POST PUT PATCH DELETE OPTIONS

undefined
Documentation
README

To replace this page, create a ./public/index.html file.

http://localhost:3000/product 不工作。我该如何解决这个问题?

【问题讨论】:

json-server 启动时是否有任何输出?我看到它列出了资源端点,包括工作正常的http://localhost:3000/product。您发布的 JSON 格式不正确,尾随逗号无效,但我认为这是将其缩减为发布的人工制品(因为如果给定格式不正确的 JSON,则会出现json-server 错误)。请给minimal reproducible example。 @jonrsharpe - 我已经更新了我的问题。请检查一下。 它们是默认值,大概您还看到“糟糕,db.json 似乎不存在”?发布(并阅读!)所有您给出的输出。 您是否仔细检查了它正在加载的 db.json 的实际内容?第一次运行它时,如果找不到您要求的文件,它会写出自己的默认值供​​您编辑。当这种情况发生时,它会告诉你它正在这样做。 @jonrsharpe - 现在可以使用了。另一个 db.json 正在不同级别创建。我之前没有注意到这一点。现在可以发布我自己的 json 并获取 url 浏览。 【参考方案1】:

第一次尝试运行json-server,如果找不到提供的源,load.js 会为您写出默认示例:


> json-server --watch db.json


  \^_^/ hi!

  Loading db.json
  Oops, db.json doesn't seem to exist
  Creating db.json with some default data

  Done

  Resources
  http://localhost:3000/posts
  http://localhost:3000/comments
  http://localhost:3000/profile

  Home
  http://localhost:3000

在随后的运行中,由于文件现在存在,服务器似乎可以正常启动,但没有使用您认为的 db.json 文件。出于这个原因,这似乎有点错误,我已经opened a PR 要求明确要求这种行为。

【讨论】:

【参考方案2】:

db.json 应该设置在根文件夹中吗?你表示你把你的放在 app 文件夹中。

【讨论】:

【参考方案3】:

最初,JSON 服务器必须从根文件夹启动。 例如:如果您使用的是 VS 代码编辑器,请单击包含 JSON 格式数据的文件夹,然后右键单击该文件夹并在集成终端中打开它并尝试:> json-server --watch db.json 它将工作很好。

如果直接调用Json-server,会在localhost:3000初始化默认数据

【讨论】:

以上是关于json-server 未显示 JSON 数据的 URL的主要内容,如果未能解决你的问题,请参考以下文章

Heroku 错误模块未找到 'json-server'

接口测试使用json-server mock模拟数据

json-server在发布请求后出现错误

我已经安装了json-server 但是就是读不到配置文件当前目录下的db.json

384 json-server, axios

json-server数据模拟