问题描述
我最近一直在尝试使用来自typicode的json服务器使用假API。对我来说,使用伪造的API很新,因此我的问题可能有点奇怪。
我是否了解这种假API服务器的概念,可以在ReactJS中通过发布请求来更新数据库?还是数据库永远不会因发布请求而改变,而我只会在控制台日志中得到结果?
尤其是我试图通过发布请求将表单数据从表单发布到我的json服务器。
到目前为止谢谢!
我用来发布数据的代码:
axios.post(`my-url`,{ user })
.then(res => {
console.log(res);
console.log(res.data);
})
}
解决方法
我假设您正在使用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的请求即可。
您无法向此服务器 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,"time": "11:00",}
运行 npm install -g json-server 和 json-server --watch db.json 以提供发出请求所需的 baseUrl