[NodePi] Xây dựng API back-end đầu tiên với NodeJS

Chào các bạn, qua 2 bài trong series về NodeJS trên RPi các bạn đã biết cách để cài đặt NodeJS và sử dụng NPM trên RPi rồi phải không nào ! Ở bài bài này, mình sẽ hướng dẫn các bạn làm một thứ rất tuyệt mà chắc hẳn rất nhiều bạn nghĩ là sẽ không thể làm được đó chính là Xây dựng API back-end server trên RPi với NodeJS.


Bạn nào chưa đọc 2 bài trước của Series thì có thể xem lại nhé:

 

Bước 1: Khởi tạo project

mkdir /home/pi/api
cd /home/pi/api
npm init

 

Bước 2: Cài đặt một số thư viện cần thiết

Để có thể viết được back-end API bằng NodeJS, chúng ta có rất nhiều cách và rất nhiều thư viên hỗ trợ. Tuy nhiên, ở bài viết này, tôi sẽ hướng dẫn các bạn sử dụng một framework cực kì phổ biến và nổi tiếng để lập trình API, web với NodeJS, đó chính là Express.JS.

Cài đặt Express.JS rất đơn giản, bạn chỉ cần chạy dòng lệnh:

npm install express --save

 

Bước 3: Lập trình

nano server.js

Nhập đoạn code sau vào:

var express = require('express'),
    app = express(),
    port = 3000,
    server = require('http').createServer(app)

app.get("/", function(req, res) {
  return res.send("Hello, Welcome to my NodePI")
})

app.post("/test", function(req, res) {
  return res.send(req.body)
})

server.listen(port, function () {
    console.log("Listening on port %s...", server.address().port)
});

Giải thích code:

  • Dòng 1: Khai báo thư viện Express.JS
  • Dòng 2: tạo một biến app để tạo các API route sau này
  • Dòng 3: Khai báo port mà API service sẽ chạy
  • Dòng 4: tạo API service từ biến app
  • Dòng 6-8: tạo một route dạng GET với địa chỉ mặc định. Có nghĩa là khi bạn truy cập localhost:300 thì bạn sẽ thấy dòng chữ Hello, Welcome to my NodePI hiện ra.
  • Dòng 10-12: tạo một route dạng POST với địa chỉ là localhost:3000/test. Tại route này khi bạn nhập dữ liệu vào body thì kết qả trả về cũng là chính body bạn nhập vào
  • Dòng 14-16: Khởi tạo server và cho server listen tạo port 3000

 

Sau khi chạy, bạn thử truy cập web và nhập địa chỉ localhost:3000 để xem kết quả nhé !

Vậy là bạn đã có back-end server API rồi đấy !

 

Hà Phương - Mechasolution.

Có thể bạn quan tâm ???