我的来自 Typicode 的 JSON 服务器更新 ReactJS 中的数据库
Posted
技术标签:
【中文标题】我的来自 Typicode 的 JSON 服务器更新 ReactJS 中的数据库【英文标题】:My JSON Server from Typicode updating database in 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);
)
【问题讨论】:
【参考方案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
【讨论】:
以上是关于我的来自 Typicode 的 JSON 服务器更新 ReactJS 中的数据库的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp 使用libcurl和json-c发布和解析来自http://jsonplaceholder.typicode.com的返回的示例代码
来自 json 的 Flutter ExpansionTile