iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
Modern Web

Node.js系列 第 19

DAY 19Restful API

  • 分享至 

  • xImage
  •  

DAY 19Restful API

{%hackmd BJrTq20hE %}

tags: 第 14 屆 iThome 鐵人賽 (2022)

Rrestful API


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 增加使用者資料』


上一篇
DAY 18 Express輕鬆幫你建網頁
下一篇
DAY 20 Restful 增加使用者資料
系列文
Node.js30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言