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à những ứng dụng lập trình nói riêng. Để hiểu rõ hơn về Rest API hãy cùng tìm hiểu thêm 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 để quy đổi cấu trúc tài liệu có những phương pháp liên kết với những 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 được dùng để sửa chữa thay thế cho nhiều kiểu khác nhau như SOAP, WSDL, …
REST ( Representational State Transfer ) là một dạng quy đổi cấu trúc tài liệu, là một phong thái kiến trúc cho việc phong cách thiết kế và ứng dụng có liên kết. REST sử dụng http đơn thuần để tạo cho tiếp xúc giữa những 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 phong cách thiết kế API cho những ứng dụng web để tiện quản trị những resource. Restful API chú trọng vào tài nguyên mạng lưới hệ thống ( tệp văn bản, âm thanh, video, ảnh, … ), gồm có những 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 giải trí của Rest API : chúng hoạt động giải trí đa phần dựa vào giao thức http, những hoạt động giải trí sẽ sử dụng những phương pháp 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 suất cao so với 1 trình lập viên, lúc bấy giờ có nhiều website đang sử dụng Rest API để cho phép liên kết tài liệu từ họ thuận tiện 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