Rest API là gì? » Thuận Nhật

Rest API là gì? Rest API có vai trò như thế nào trong giới lập trình web nói chung và các ứng dụng lập trình nói riêng. Để hiểu rõ hơn về Rest API hãy cùng tham khảo qua bài viết sau nhé.

1. Rest API là gì?

Rest API là gì?

Rest API là một ứng dụng được dùng để chuyển đổi cấu trúc dữ liệu có những phương thức kết nối với các thư viện và ứng dụng khác nhau. Chúng được xem là một giải pháp tạo ra những ứng dụng web services chuyên dụng để thay thế cho nhiều kiểu khác nhau như SOAP, WSDL,…

REST (Representational State Transfer) là một dạng chuyển đổi cấu trúc dữ liệu, là một phong cách kiến trúc cho việc thiết kế và ứng dụng có kết nối. REST sử dụng http đơn giản để tạo cho giao tiếp giữa các máy thay vì sử dụng URL

API (Application Programming Interface) là giao diện lập trình ứng dụng giúp tạo ra các phương thức kết nối với các thư viện và các ứng dụng khác. Đây được xem là một giải tháp thay vì là một công nghệ.

2. Restful API là gì?

Restful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web để tiện quản lý các resource. Restful API chú trọng vào tài nguyên hệ thống (tệp văn bản, âm thanh, video, ảnh,…), bao gồm các tài nguyên được định dạng và truyền tải qua HTTP.

3. Cấu trúc Rest API

5 thành phần cấu trúc ràng buộc của Rest API

  • Hệ thống hoạt động theo mô hình client – server, tập hợp các service nhỏ lắng nghe các request từ client, từng request khác nhau sẽ có được một hoặc nhiều service xử lý.
  • Stateless (phi trạng thái): server và client không lưu trạng thái của nhau, mỗi Request lên server thì client phải đóng gói thông tin đầy đủ để server hiểu được. Giúp cho hệ thống dễ phát triển, bảo trì, mở rộng,… không cần tốn công CRUD trạng thái của client.
  • Khả năng caching: các response có thể lấy ra từ cache bằng cách các response, server giảm tải việc xử lý request, còn client cũng nhận được thông tin nhanh hơn.
  • Chuẩn hóa interface: là một đặc tính quan trọng của REST bằng cách tạo ra các quy ước chuẩn để giao tiếp giữa các thành phần trong hệ thốn, đơn giản hóa việc client có thể tương tác với server. Chúng được áp dụng cho toàn bộ hệ thống.
  • Phân lớp hệ thống: trong một hệ thống REST chia tách thành các phần hệ thống theo từng lớp, mỗi lớp chỉ sử dụng lớp ở dưới nó và giao tiếp với lớp trên nó. Điều này giúp giảm độ phức tạp của hệ thống, giúp các thành phần tách biệt nhau.

4. Cách thức hoạt động của Rest API

Cách thức hoạt động của Rest API: chúng hoạt động chủ yếu dựa vào giao thức http, các hoạt động sẽ sử dụng những phương thức http riêng. Được gọi chung là CRUD tương ứng với CREATE, READ, UPDATE, DELETE

  • GET (SELECT): Trả về một Resource hoặc một danh sách Resource.
  • POST (CREATE): Tạo mới một Resource.
  • PUT (UPDATE): Cập nhật thông tin cho Resource.
  • DELETE (DELETE): Xoá một Resource.

Ví dụ về Authentication request và cấu trúc dữ liệu trả về:

Ý nghĩa của các Status code:

  • 200 OK: Trả về thành công cho những phương thức GET, PUT, PATCH hoặc DELETE.
  • 201 Created – Trả về khi một Resouce vừa được tạo thành công.
  • 204 No Content – Trả về khi Resource xoá thành công.
  • 304 Not Modified – Client có thể sử dụng dữ liệu cache.
  • 400 Bad Request – Request không hợp lệ
  • 401 Unauthorized – Request cần có auth.
  • 403 Forbidden – bị từ chối không cho phép.
  • 404 Not Found – Không tìm thấy resource từ URL
  • 405 Method Not Allowed – Phương thức không cho phép với user hiện tại.
  • 410 Gone – Resource không còn tồn tại, Version cũ đã không còn hỗ trợ.
  • 415 Unsupported Media Type – Không hỗ trợ kiểu Resource này.
  • 422 Unprocessable Entity – Dữ liệu không được xác thực
  • 429 Too Many Requests – Request bị từ chối do bị giới hạn

5. Ưu điểm của Rest API

Rest API mạng lại nhiều hiệu quả đối với 1 trình lập viên, hiện nay có nhiều trang web đang sử dụng Rest API để cho phép kết nối dữ liệu từ họ dễ dàng hơn.

  • Giúp cho ứng dụng rõ ràng và dễ nhìn hơn.
  • Rest URL đại diện cho một resource chứ không phải là một hành động.
  • Các dữ liệu được trả về dưới nhiều định dạng khác nhau: xml, html, json,…
  • Code của Rest API đơn giản, ngắn gọn.
  • REST được chú trọng nhiều vào tài nguyên của các hệ thống.

>>> Tham khảo: Authentication là gì? Tìm hiểu tổng quan