
1. Khái niệm API, REST, RESTFUL API
API:
- API (Application Programming Interface) là một ứng dụng tương tác với cơ sở dữ liệu để lấy dữ liệu ra và hiển thị dữ liệu và được viết bởi lập trình viên.
- API có thể trả về dữ liệu mà bạn cần cho ứng dụng của mình ở những kiểu dữ liệu phổ biến như JSON hay XML
.jpg)
REST:
- RESTful API là một tiêu chuẩn dùng trong việc thiết kế các API cho các ứng dụng web để quản lý các resource.
- Chức năng quan trọng nhất của REST là quy định cách sử dụng các HTTP method (như GET, POST, PUT, DELETE…) và cách định dạng các URL cho ứng dụng web để quản các resource
.jpg)
2. RESTFUL API hoạt động như thế nào?
REST hoạt động chủ yếu dựa vào giao thức HTTP. Các hoạt động cơ bản nêu trên sẽ sử dụng những phương thức HTTP riêng.
- GET: Trả về một phần tử cụ thể hoặc một danh sách phần tử (SELECT).
- POST: Tạo mới một phần tử (CREATE).
- PUT: Cập nhật thông tin cho phần tử có sẵn(UPDATE).
- DELETE: Xoá một phần tử có sẵn(DELETE).
3. Cấu trúc dữ liệu trả về của RESTFUL API
Dữ liệu trả về thường có cấu trúc như sau:
{
"data" : {
"id": "1",
"name": “Thanh Tùng“
“age”: “15”
}
}
4. Tìm hiểu về ngôn ngữ PHP
Ngôn ngữ PHP
- Là ngôn ngữ lập trình kịch bản mã nguồn mở trên server, được thiết kế để dễ dàng xây dựng các trang web động.
- Mã PHP có thể thực thi trên web server để tạo ra mã HTML và xuất ra trình duyệt web theo yêu cầu của người sử dụng.
- Ngôn ngữ PHP ra đời năm 1994 bởi Rasmus Lerdorf, sau đó được phát triển bởi nhiều người và trải qua nhiều phiên bản.
- Phiên bản hiện tại là PHP 8 đã được công bố 11/2020.
Đặc điểm của PHP:
- Ngôn ngữ phía máy chủ: PHP chủ yếu chạy trên máy chủ web để xử lý logic và trả về HTML cho trình duyệt.
- Mã nguồn mở: Miễn phí sử dụng, download dễ dàng từ Internet và có 1 cộng đồng phát triển lớn mạnh.
- Tích hợp dễ dàng với HTML: PHP có thể nhúng trực tiếp vào mã HTML, rất tiện lợi cho việc phát triển web.
- Ngôn ngữ rất dễ học, dễ viết.
- Tương thích với nhiều hệ điều hành: PHP chạy tốt trên Windows, macOS, Linux, Unix, …
- Hỗ trợ nhiều hệ quản trị cơ sở dữ liệu: MySQL, PostgreSQL, SQLite, MongoDB,...
- Khả năng mở rộng: Có nhiều framework hỗ trợ như Laravel, Symfony, CodeIgniter...
- File PHP được lưu dưới định dạng *.php, các cú pháp PHP được đặt trong dấu <?php ?>
Ứng dụng của PHP
- Xây dựng website và ứng dụng web: các trang web tĩnh, hệ thống động, thương mại điện tử, trang blog, diễn đàn trực tuyến,…
- Phát triển CMS: Nhiều hệ thống quản lý nội dung nổi tiếng như Wordpress, Joomla, Drupal được viết bằng PHP.
- Xây dựng API: PHP có thể được dùng để xây dựng RESTFUL API hoặc SOAP Service.
Sơ đồ về lập trình Server Side của PHP
.jpg)
1. Trình duyệt gửi yêu cầu tới trang PHP
2. Web Server gửi các yêu cầu đó tới trình thông dịch PHP
3. Trình thông dịch PHP thực thi các đoạn mã PHP.
4. Quá trình này có thể lấy dữ liệu từ Database Server
5. Kết quả của quá trình thông dịch sẽ là các mã HTML được trả về cho Web Server.
6. Server gửi mã kết quả HTML về lại trình duyệt.
5. Demo áp dụng cách sử dụng RESTFUL API bằng ngôn ngữ PHP theo mô hình MVC
Điều kiện tiên quyết để tạo REST API trong PHP
Tạo các bảng cần thiết cho dự án ở MySQL
CREATE DATABASE my_store;
USE my_store;
CREATE TABLE category ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, description TEXT );
CREATE TABLE product (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
description TEXT,
price DECIMAL(10, 2) NOT NULL,
image VARCHAR(255) DEFAULT NULL,
category_id INT,
FOREIGN KEY (category_id) REFERENCES category(id)
);
Khởi động Xampp (Apache và MySQL)
Bước 1: Mở Xampp từ menu Start hoặc biểu tượng Xampp trên Desktop.
Bước 2: Nhấn vào nút Start của 2 ứng dụng Apache và MySQL để bắt đầu khởi động web server. Khi 2 ứng dụng chuyển sang màu xanh thì localhost đã được khởi động.
Vào đường link sau để mở dự án demo:
http://localhost:8082/webbanhang3/product
.jpg)
Mở phần mềm Postman để chạy các phương thức API đã tạo cho dự án
Phương thức GET
.jpg)
Phương thức POST
.jpg)
Phương thức PUT
.jpg)
Phương thức DELETE
.jpg)
Phương thức GET/id
.jpg)
Thầy Dương Quang Huy – Giảng viên Khoa CNTT - ĐT