Tạo 1 REST API Phục Vụ Cho Mục đích Học Tập Trong 30 Giây

Các bước thực hiện:

  1. Clone repository sau (hoặc fork về nếu muốn quản lý source code, nhớ star để ủng hộ tác giả): https://github.com/robinhuy/fake-rest-api-nodejs.git
git clone https://github.com/robinhuy/fake-rest-api-nodejs.git
  1. Cài đặt dependencies
cd fake-rest-api-nodejs npm install
  1. Chạy server
npm start
  • Vậy là chúng ta đã có 1 Server API chạy trên http://localhost:3000 với 1 resource có sẵn là /users với các API theo chuẩn REST:
GET /users GET /users/1 POST /users PUT /users/1 PATCH /users/1 DELETE /users/1
  • Ngoài ra Server còn cung cấp thêm 1 phương thức Authentication bằng JWT (Bearer token), xác thực user bằng emailpassword qua API:
POST /login

(dữ liệu truyền lên dạng { email: “[email protected]”, password: “secret” }, thông tin lấy trong resource users).

  • Những resource và method được khai báo trong protected_resources thì cần đăng nhập để thực hiện, ví dụ:
"protected_resources": { "users": ["GET", "POST", "PUT", "PATCH", "DELETE"], "products": ["POST", "PUT", "PATCH", "DELETE"] }
  • Nếu bạn muốn tuỳ chỉnh lại hoặc bổ sung cơ chế Authentication thì có thể chỉnh sửa lại ở file server.js phần Access control

authentication, protect api

Chú ý: Sau khi chỉnh sửa code cần khởi động lại server!

Chỉnh sửa API

  • API mặc định là thông tin về User, toàn bộ được lưu vào trong file database.json. Có thể chỉnh sửa hoặc thêm dữ liệu vào file đó miễn khai báo đúng cấu trúc (chú ý users hiện đang được dùng luôn cho cả authentication). Ví dụ thêm 1 resource về products:

database.json

  • Server sử dụng thư viện JSON Server, để xem đầy đủ tài liệu hướng dẫn về API hãy xem tại đây: https://github.com/typicode/json-server

  • Nếu cần mockup dữ liệu lớn và ngẫu nhiên thì có thể dùng thêm dịch vụ sau https://mockaroo.com/. Mockaroo cho phép mockup dữ liệu rất đa dạng, cấu hình được tỉ lệ, viết thêm các function điều kiện để tạo dữ liệu và cho phép xuất mockup ra dưới nhiều định dạng trong đó có JSON.

mockaroo

Dựng server online

  • Nếu là đại gia thì có thể sử dụng VPS hoặc nếu không thì có thể sử dụng dịch vụ của Heroku (hoặc các dịch vụ tương tự): Đăng ký tài khoản, tạo App và đẩy source code kèm file database.json lên. Khi deploy code có thể chọn Heroku Git và gõ lệnh theo hướng dẫn bên dưới hoặc chọn kết nối với Github repo để deploy code qua 1 nút bấm (hoặc auto deploy khi có commit lên github).

heroku

  • Cần chú ý là nếu dùng gói Free thì khi Server không hoạt động (không có truy cập) sau 30 phút thì Server sẽ rơi vào trạng thái Sleep, lần truy cập kế tiếp sẽ hơi chậm 1 chút và mọi dữ liệu sẽ reset về ban đầu (như trong file database.json).

=> Nếu dùng Heroku để host thì có thể chọc phá API thoải mái 😄

Nguồn: https://huydq.dev

Bình luận

bkjako451codkmo86tcgavatarNguyễn Trung Nguyên 2021-05-17 03:40:32.137228 +0000 UTCBài viết rất hay, cảm ơn tác giả, tặng 1 sao :D Trả lời Avatar Bình luận Hủy * Vui lòng đăng nhập trước khi bình luận.Ảnh đại diện +142 Thích Chia sẻ

Từ khóa » Học Api