Giới thiệu

MSc | AI/ML | Cyber Security | DevOps | ITIL | Compliance | Cloud | System | Virtualization | DBA | SAN...

Security/DevSecOps tại VietSunshine CyberSecurity

System & Network Engineer tại HQG

Từng học Thạc sĩ khoa học máy tính - Đại học quốc tế Sài Gòn

Từng học Đại học công nghệ thông tin - ĐHQG TPHCM

Sống tại Hồ Chí Minh, Việt Nam

Đến từ Lộc Ninh, Bình Phước, Việt Nam

Xem nhiều hơn

Bài mới

Series [K8S]: Phần 3 Install Rancher on Kubernetes
Series [K8S]: Phần 2 Install Ceph Cluster Kubernetes
Series [K8S]: Phần 1 Install Kubernetes Cluster v1.28
Series [CA]: Phần 2 Create SAN Certificate
Linux Route Two Card Network
Resize LVM Disk On Redhat
Series [Powershell]: Phần 1 Encrypting Script Using AES
Series [SIEM]: Phần 05 Postman With Qradar API
Series [CA]: Phần 1 Install CA Windows Server

Restful API Cơ Bản

Mở Đầu

  • API (Application Programming Interface) là một tập các quy tắc và cơ chế mà theo đó, một ứng dụng hay một thành phần sẽ tương tác với một ứng dụng hay thành phần khác. 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.
  • REST (Representational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu, một kiểu kiến trúc để viết API. Nó sử dụng phương thức HTTP đơn giản để tạo cho giao tiếp giữa các máy. Vì vậy, thay vì sử dụng một URL cho việc xử lý một số thông tin người dùng, REST gửi một yêu cầu HTTP như GET, PUT, POST, DELETE, v.v đến một URL để xử lý dữ liệu.
  • 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. RESTful là một trong những kiểu thiết kế API được sử dụng phổ biến cho các ứng dụng (Web, Mobile…) khác nhau giao tiếp với nhau.

Restful API Làm Việc Như Thế Nào?

api work

RESTful API hoạt động theo cách cho phép các ứng dụng giao tiếp với nhau qua HTTP bằng các phương thức yêu cầu như GET, POST, PUT, DELETE. Dưới đây là mô tả cách hoạt động của RESTful API dựa trên hình ảnh bạn cung cấp:

  1. Client Application (Ứng dụng khách): Đây là nơi bắt đầu quy trình. Một ứng dụng, như trang web hoặc ứng dụng di động, gửi yêu cầu tới máy chủ qua API. Các yêu cầu này được gửi bằng giao thức HTTP.

  2. API Requests (Yêu cầu API): Ứng dụng khách gửi yêu cầu API với một phương thức HTTP (GET, POST, PUT, DELETE) kèm theo các dữ liệu hoặc tham số cần thiết. Yêu cầu này đi qua internet tới máy chủ.

  3. Server/Database (Máy chủ/Cơ sở dữ liệu): Máy chủ nhận yêu cầu từ ứng dụng khách, sau đó xử lý yêu cầu bằng cách truy cập cơ sở dữ liệu hoặc thực hiện các thao tác cần thiết. Máy chủ có thể lấy dữ liệu, lưu trữ dữ liệu, hoặc thực hiện thay đổi trong cơ sở dữ liệu theo yêu cầu của ứng dụng khách.

  4. API Response (Phản hồi API): Sau khi xử lý xong yêu cầu, máy chủ gửi lại phản hồi tới ứng dụng khách. Phản hồi này thường là dữ liệu dưới dạng JSON hoặc XML, hoặc thông báo thành công/thất bại của yêu cầu.

Request Trong Restful API

  • URL: Đường dẫn API
  • Method: Phương thức gọi request: Get, Post, Put, Patch, Delete, Head, Connect, Option, Trace.
    Header: Cặp key –  value
    Body: Cặp key – value

1- URL: thì cứ theo Docs rồi copy mà ném vào thôi =))

2- Method:
GET: Lấy ra những dữ liệu khi gọi API đó. Giống như khi search thì sẽ có kết quả trả về là 1 list những thông tin tìm kiếm. Tương tụ như là câu lệnh SELECT.
POST: Với method này sẽ thêm vào dữ liệu. Giống như là khi login thì cần nhập vào user name và password. Hoặc có thể là register sẽ thêm mới thông tin của người dùng vào trong DB, có thể là post bài đăng mới trên website. Đây được coi là tương đương với câu lệnh INSERT INTO trong SQL.

– PUT: Phương thức cho phép ghi đè dữ liệu một cách đầy đủ các trường. Ví dụ profile (tên, ngày sinh, địa chỉ, số điện thoại) và gọi đến API chỉnh sửa thông tin profile với method PUT, muốn edit số điện thoại thôi nhưng phải viết ra đầy đủ những thông tin như tên, ngày sinh, địa chỉ mặc dù không thay đổi gì nhưng phải viết lại. Đây như là câu lệnh Update trong SQL.
PATCH: Tương tự PUT. Nhưng khác ở chỗ PATCH cho phép chỉ cần liệt kê ra trường cần edit. Có nghĩa như ví dụ trên thì chỉ cần viết thông tin cần thay đổi của trường số điện thoại mà ko cần quan tâm những trường khác. Đây cũng là Update trong SQL.
DELETE: Xóa dữ liệu. Ví dụ như xóa 1 người dùng, … Phương thức này như là câu lệnh Delete trong SQL.

3- Header: Đây sẽ là cái đầu tiên để người test nhìn vào và biết được định nghĩa của request đó như loại nội dung sẽ là json chẳng hạn. Để người test có thể biết là mình cần tìm hiểu cấu trúc file json là gì để đọc hiểu được dữ liệu.

4- Body: Đây là phần nhập dữ liệu với các cặp key – value. Sẽ sử dụng với các phương thức POST, PUT, PATCH, DELETE. Còn phương thức get thì không, thường thì GET sẽ điền ở Param.

Response Trong Restful API

Sau khi nhận được request từ phía client, server sẽ xử lý cái request đó và gửi ngược lại cho client 1 cái response

  • 1- Body: Data trả về
  • 2- Header: Status code, info client & server

http code status

1xx: Information (Thông tin): Khi nhận được những mã như vậy tức là request đã được server tiếp nhận và quá trình xử lý request đang được tiếp tục.

2xx: Success (Thành công): Khi nhận được những mã như vậy tức là request đã được server tiếp nhận, hiểu và xử lý thành công

3xx: Redirection (Chuyển hướng): Mã trạng thái này cho biết client cần có thêm action để hoàn thành request

4xx: Client Error (Lỗi Client): Nó nghĩa là request chứa cú pháp không chính xác hoặc không được thực hiện.

5xx: Server Error (Lỗi Server): Nó nghĩa là Server thất bại với việc thực hiện một request nhìn như có vẻ khả thi.

1xx (100 – 199): Information responses / Phản hồi thông tin – Yêu cầu đã được chấp nhận và quá trình xử lý yêu cầu của bạn đang được tiếp tục.

2xx (200 – 299): Successful responses / Phản hồi thành công – Yêu cầu của bạn đã được máy chủ tiếp nhận, hiểu và xử lý thành công.

3xx (300 – 399): Redirects / Điều hướng – Phía client cần thực hiện hành động bổ sung để hoàn tất yêu cầu.

4xx (400 – 499): Client errors / Lỗi phía client – Yêu cầu không thể hoàn tất hoặc yêu cầu chứa cú pháp không chính xác. 4xx sẽ hiện ra khi có lỗi từ phía client do không đưa ra yêu cầu hợp lệ.

5xx (500 – 599): Server errors / Lỗi phía máy chủ – Máy chủ không thể hoàn thành yêu cầu được cho là hợp lệ. Khi 5xx xảy ra, bạn chỉ có thể đợi để bên hệ thống máy chủ xử lý xong.

Sử Dụng Postman Kiểm Tra Restfull API

Chọn phương thức, Prams với các biến giá trị truyền vào để gọi API

Tham số truyền Restfull API vào header, status code trả về và thông tin body giá trị hiển thị

Kết Luận

Vậy là chúng ta đã cùng nhau khám phá những khái niệm cơ bản về RESTful API, từ cách nó hoạt động cho đến vai trò quan trọng trong việc kết nối các ứng dụng hiện đại. RESTful API không chỉ đơn giản hóa việc giao tiếp giữa các hệ thống mà còn cung cấp một phương thức linh hoạt, hiệu quả để xây dựng và mở rộng ứng dụng từ các nền tảng khác nhau.

Việc nắm vững cách hoạt động của RESTful API sẽ giúp bạn dễ dàng tích hợp, tương tác với nhiều dịch vụ nền tảng khác nhau và xây dựng hệ thống mạnh mẽ, đáp ứng nhu cầu ngày càng cao trong tích hợp ứng dụng. Hi vọng bài viết sẽ mang chút kiến thức giúp bạn hiểu cơ bản về Restful API và áp dụng nó vào thực tế.

Phần tiếp theo, chúng ta sẽ áp dụng Restapi trong việc kết nối ứng dụng với nhau qua thư viện aiohttp, đừng quên theo dõi trang để cập nhật những kiến thức mới nhất nhé!

Theo dõi
Thông báo của
guest
0 Góp ý
Cũ nhất
Mới nhất Được bỏ phiếu nhiều nhất
Phản hồi nội tuyến
Xem tất cả bình luận

LƯỢT TRUY CẬP

Đang Online 1
Hôm nay 22
Hôm qua 55
Tổng truy cập 29560

Xem nhiều

Series [K8S]: Phần 3 Install Rancher on Kubernetes
Series [K8S]: Phần 2 Install Ceph Cluster Kubernetes
Series [K8S]: Phần 1 Install Kubernetes Cluster v1.28
Series [CA]: Phần 2 Create SAN Certificate

Video