Node.js Express RESTful 簡單例子

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測試

查詢所有

 

 

查詢單個

 

 

新增

 

 

刪除

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章