json-server删除数据详细写法
时间: 2023-05-28 15:05:23 浏览: 659
使用json-server删除数据的步骤:
1. 发送DELETE请求,指定要删除的数据的ID。
2. 在json-server的路由配置中,指定如何处理DELETE请求。
3. 在处理函数中,根据请求中的ID,找到要删除的数据。
4. 如果找到了数据,就将其从数据列表中删除,然后返回一个删除成功的响应。
5. 如果没有找到数据,就返回一个找不到数据的错误响应。
下面是一个详细的代码示例:
```js
// 安装json-server和axios
npm install json-server axios
// 在package.json的scripts中添加以下命令
"json-server": "json-server --watch db.json --port 3001"
// 创建一个db.json文件,作为数据存储的文件
{
"users": [
{
"id": 1,
"name": "Alice"
},
{
"id": 2,
"name": "Bob"
},
{
"id": 3,
"name": "Charlie"
}
]
}
// 在json-server的路由配置中,指定如何处理DELETE请求
// 创建一个routes.json文件,内容如下
{
"/api/users/:id": {
"DELETE": "/users/:id"
}
}
// 在代码中发送DELETE请求
// 创建一个deleteUser.js文件,内容如下
const axios = require('axios');
axios.delete('http://localhost:3001/api/users/2')
.then(res => {
console.log(res.data);
})
.catch(err => {
console.error(err);
});
// 在处理函数中,根据请求中的ID,找到要删除的数据
// 在json-server的db.json文件中添加一些数据
{
"posts": [
{ "id": 1, "title": "json-server", "author": "typicode" },
{ "id": 2, "title": "axios", "author": "typicode" }
],
"comments": [
{ "id": 1, "body": "some comment", "postId": 1 },
{ "id": 2, "body": "some comment", "postId": 2 }
]
}
// 在处理函数中,根据请求中的ID,找到要删除的数据
// 创建一个server.js文件,内容如下
const jsonServer = require('json-server');
const server = jsonServer.create();
const router = jsonServer.router('db.json');
const middlewares = jsonServer.defaults();
server.use(middlewares);
server.use(jsonServer.rewriter({
"/api/*": "/$1"
}));
server.use(router);
// 添加DELETE请求处理函数
router.delete('/users/:id', (req, res) => {
const id = parseInt(req.params.id);
const users = router.db.get('users');
const index = users.findIndex(user => user.id === id);
if (index !== -1) {
users.splice(index, 1);
res.jsonp({ success: true });
} else {
res.status(404).jsonp({ error: 'User not found' });
}
});
server.listen(3000, () => {
console.log('JSON Server is running');
});
```
这样就完成了使用json-server删除数据的详细写法。
阅读全文