{%hackmd BJrTq20hE %}
第 14 屆 iThome 鐵人賽 (2022)
REST一種設計風格而非標準。REST通常基於使用HTTP、URL、XML(標準通用標記語言)以及 HTML 這些現有的協定和標準。 REST 通常使用JSON資料格式,撰寫Restful API,實際上就是撰寫處理HTTP 請求的 async 函數。
(1) 首先 創立一個JSON資料資源檔 users.json,內容如下:
const users = [
{
"user1":
{
id : 1,
name: "Allen",
email: "Allen@yahoo.com.tw"
},
"user2":
{
id : 2,
name: "Kavin",
email: "Kavin@gmail.com"
},
"user3":
{
id : 3,
name: "albert",
email: "Albert@gmail.com"
},
}
];
(2)讀取使用者資訊列表的程式範例如下:
var express = require('express');
var app = express();
var fs = require("fs");
app.get('/listUsers', function (req, res) {
fs.readFile(__dirname + "/" + "users.json", 'utf8', function (err, data) {
console.log(data);
res.end(data);
});
})
app.get('/getDetail/:id', function (req, res) {
// 首先我們讀取已存在的使用者
fs.readFile(__dirname + "/" + "users.json", 'utf8', function (err, data) {
data = JSON.parse(data);
var user = data["user" + req.params.id]
console.log(user);
res.end(JSON.stringify(user));
});
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("伺服器開啟在 http://%s:%s", host, port)
})
RESTFUL 搭配Express能很快地在短時間建立網頁,要記得GET沒辦法傳送複雜的資料,而且也能夠透過在網址的/傳輸指令,會有安全的風險,好啦 下一篇『Restful 增加使用者資料』