Node.js Express RESTful 一個簡單例子,實現對數據的查詢和刪除基本功能。
用一個json文件data.json作爲讀寫的數據源
[ { "id": 1, "name": "aa" }, { "id": 2, "name": "bb" } ]
創建 RESTful
const express = require('express'); const app = express(); const fs = require("fs"); app.set('port', process.env.PORT || 3000); const jsonFile = __dirname + '/data.json'; //查詢所有 app.get('/list', (req, res) => { fs.readFile(jsonFile, 'utf8', (err, data) => { console.log(data); res.end(data); }); }); //查詢單個 app.get('/detail/:id', (req, res) => { fs.readFile(jsonFile, 'utf8', (err, data) => { data = JSON.parse(data); const d = data.filter(x => x.id == req.params.id); console.log(d); res.end(JSON.stringify(d)); }); }); const newData = { "id": 3, "name": "cc" }; //添加 app.post('/add', (req, res) => { fs.readFile(jsonFile, 'utf8', (err, data) => { data = JSON.parse(data); data.push(newData); console.log(data); saveJson(data); res.send(data); }); }); //刪除 app.get('/delete/:id', (req, res) => { fs.readFile(jsonFile, 'utf8', (err, data) => { data = JSON.parse( data ); const index = data.findIndex(x => x.id == req.params.id); data.splice(index, 1); console.log(data); saveJson(data); res.send(data); }); }); //保存到文件 function saveJson(data){ fs.writeFile(jsonFile, JSON.stringify(data), "utf-8", err => { if (!err) { console.log('寫入成功!') }else{ console.log('寫入失敗!') } }); } app.listen(app.get('port'), () => { console.log('Server listening on: http://localhost:', app.get('port')); });
Postman測試
查詢所有
查詢單個
新增
刪除