iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 1
0
Modern Web

30天精通Api (REST vs GraphQL)系列 第 12

Day11 - 使用node.js 打造你的 Restful API (2)

先讓我們把安裝環境架設好

sudo apt-get update
sudo apt-get install nodejs
sudo apt-get install mongodb 
npm install express.js --save
npm install mongoose --save

使用Express.js,有大量的 HTTP 公用程式方法與中介軟體供您支配,能夠快速又輕鬆的建立完整的API,他也有express-generator直接創建整個前後端網站,但我們主題是API,所以......開始吧!

1.建立路由中繼
新增一個app.js來當作路由的中繼站,就像台北車站一樣,這裡用來當作不同API的樞紐

  • 我們先把錯誤處理放到裡面
const express = require("express");
const app = express();

app.use((req, res, next) => {
  const error = new Error("Not found");
  error.status = 404;
  next(error);
});

app.use((error, req, res, next) => {
  res.status(error.status || 500);
  res.json({
    error: {
      message: error.message
    }
  });
});
  1. body-parser解析
    通常express會使用body-parser這個套件,負責解析Post來的資料、編碼或不同類型的請求(text、json、urlencoded等)
  • 先安裝套件
npm install body-parser --save
  • 兩行程式碼搞定
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

所以現在我們的app.js大概是這樣

const express = require("express");
const app = express();
const bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use((req, res, next) => {
  const error = new Error("Not found");
  error.status = 404;
  next(error);
});

app.use((error, req, res, next) => {
  res.status(error.status || 500);
  res.json({
    error: {
      message: error.message
    }
  });
});

module.exports = app; //輸出模組

上一篇
Day11 - 使用node.js 打造你的 Restful API
系列文
30天精通Api (REST vs GraphQL)12

尚未有邦友留言

立即登入留言