【问题标题】:My JSON Server from Typicode updating database in ReactJS我的来自 Typicode 的 JSON 服务器更新 ReactJS 中的数据库
【发布时间】:2021-02-02 06:09:07
【问题描述】:

我最近一直在尝试使用来自 typicode 的 json 服务器来处理假 API。使用假 API 对我来说是很新鲜的事情,所以我的问题听起来可能有点奇怪。

我是否正确理解这个假 API 服务器的概念,我可以在 ReactJS 中使用发布请求更新数据库?还是数据库永远不会通过发布请求更改,而我只在控制台日志中得到结果?

特别是我正在尝试通过发布请求将表单数据从表单发布到我的 json 服务器。

到目前为止谢谢!

我用来发布数据的代码:

axios.post(`my-url`, { user })
                    .then(res => {
                      console.log(res);
                      console.log(res.data);
                    })
                        }

【问题讨论】:

    标签: json reactjs api json-server


    【解决方案1】:

    我假设您正在使用json-server 包并使用这样的服务器。在这种情况下,您发出的成功 POST 请求将保存在您提供给服务器的文件中,如果您不提供任何特定文件,则保存在默认文件中。

    如果你想使用json-server 并使更改持久化,你可以使用它的 npm 包:

    npm install -g json-server
    

    然后,在您的项目目录中创建一个db.json 文件并提供您要使用的数据结构:

    {
      "posts": [
        { "id": 1, "title": "json-server", "author": "typicode" }
      ]
    }
    

    如果您不提供db.json 文件,它会在您启动服务器时自动创建。所以,这取决于你。

    然后,你应该启动服务器:

    json-server db.json
    

    服务器会在3000端口,如果有其他应用在这个端口上运行,你可以在启动时指定端口:

    json-server db.json -p 3001
    

    现在,您可以向http://localhost:3001/posts 提出请求。只需检查 its documentation 的请求即可。

    【讨论】:

    • 是的,没错,我正在使用你提到的 json-server。我的理解是正确的:提交成功后,我的 json 文件中应该可以看到我的 post 请求?
    • 确实如此。这就是安装和使用服务器的重点。
    • 好的,我在这里安装了它:my-json-server.typicode.com/aaronjoeldev/demo 设置有问题吗?因为我的发帖请求并没有改变任何东西
    • 这是他们提供的其他东西。我说的是本地 npm 包。您是否按照他们解释here 的说明进行操作?就像在 Github 上创建一个 repo 并在那里创建一个 db.json 文件?顺便说一句,如果您想更新您的问题,请不要添加答案。只需编辑您的问题并在那里进行更新。
    • 嗯,这就是他们所说的:“为了能够在此阶段为尽可能多的人提供免费服务,该项目有一些限制:更改是伪造的,不是持久化(就像 JSONPlaceholder)”...所以如果你使用这个方法,更改不会持久化。
    【解决方案2】:

    您无法向此服务器https://my-json-server.typicode.com/${github-username}/${github-repo}/${event} 发出发布请求,

    截至本回复时,您只能发出 get 请求,建议您在本地机器上使用 JSON-server。

    在项目文件夹上创建一个db.json文件,

    例如在文件中添加类似这样的内容

    {
      "events": [
        {
          "id": 123,
          "category": "animal welfare",
          "date": "January 28, 2022",
          "time": "12:00",
        },
        {
          "id": 456,
          "category": "nature",
          "date": "January 30, 2022",
          "time": "11:00",
        },
    }
    

    运行 npm install -g json-server 和 json-server --watch db.json 提供发出请求所需的 baseUrl

    【讨论】:

      猜你喜欢
      • 2020-06-11
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      相关资源
      最近更新 更多