Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương 3-Bài 3. Tiêu chuẩn RESTful API là gì?

Tác giả: Dương Nguyễn Phú Cường #12066
Ngày đăng: 2 tháng trước
Lượt xem: 193

API là gì?

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 là gì?

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, POST, DELETE, vv đến một URL để xử lý dữ liệu.

RESTful API là gì?

REST API (còn được biết với tên gọi RESTful API) là một giao diện lập trình ứng dụng (API) tuân thủ các ràng buộc và quy ước kiến trúc REST được sử dụng trong việc giao tiếp giữa client và server. REST là viết tắt của REpresentational State Transfer, nó được tạo ra bởi nhà khoa học máy tính Roy Fielding.

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 ngày nay để cho các ứng dụng (web, mobile…) khác nhau giao tiếp với nhau.

REST API thường vẫn sử dụng giao thức HTTP/1 kèm theo các định nghĩa trước đó mà cả client và server cần tuân thủ.

Hiện tại, các REST API dùng JSON rất phổ biến.

Tiêu chuẩn phương thức (Methods) giao tiếp giữa Yêu cầu (Request) và Phản hồi (Response) trong RESTful API

Tiêu chuẩn về yêu cầu (Request) và phản hồi (Response) RESTful API


Chương trình học


  1. Bức tranh tổng thể về Lập trình WEB 1
    1. Sơ đồ vận hành của một Website Java Spring #12095
  2. Cài đặt, setup môi trường lập trình Java Spring 4
    1. Cài đặt Postman #12064
    2. Cài đặt tool Lombok #11611
    3. Cài đặt web server XAMPP #84
    4. Cài đặt công cụ truy vấn database HeidiSQL #1833
  3. Tiêu chuẩn lập trình WEB 8
    1. Chuẩn dữ liệu JSON #12067
    2. Tiêu chuẩn mã lỗi khi giao tiếp giữa Client và Server trên nền web - HTTP Status Code #12077
    3. Tiêu chuẩn RESTful API là gì? #12066
    4. Kiến trúc MVC là gì? #65
    5. Mô hình kiến trúc MVC vận hành trong Java Spring Framework #12108
    6. Mô hình kiến trúc 3 lớp (Three layers) vận hành trong Java Spring MVC Framework #12118
    7. Mô hình Kiến trúc 3 lớp (three layers) phân chia DTO thành REQUEST / RESPONSE theo từng ngữ cảnh vận hành trong Java Spring MVC Framework #12261
    8. Mô hình kiến trúc 3 lớp (three layers) có kiểm tra ràng buộc dữ liệu (validation) vận hành trong Java Spring MVC Framework #12240
  4. Tổng quan về framework Spring Java 2
    1. Giới thiệu về Spring #12065
    2. Tạo chương trình Java Spring đầu tiên - Hello World #12090
  5. Phân tích nghiệp vụ, phân rã danh sách chức năng và thiết kế database 2
    1. Thiết kế Cơ sở dữ liệu Bán hàng TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12053
    2. Phân rã danh sách chức năng Web app TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12058
  6. Video khóa học 1
    1. Playlist khóa học Java Spring Framework trên Youtube #12114
  7. Dự án thực tế mẫu - Trang web app bán hàng có quản lý kho hàng NetaShop - Phân vùng giao diện Quản trị Admin 26
    1. Thiết kế bố cục (layouts) cho phân vùng giao diện Quản trị Admin (Backend) #12124
    2. Thiết kế giao diện trang tổng quan (Dashboard) cho phân vùng giao diện Quản trị Admin (Backend) #12127
    3. Thiết kế giao diện trang danh sách chuyên mục sản phẩm (Shop categories - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12130
    4. Thiết kế giao diện trang thêm mới chuyên mục sản phẩm (Shop categories - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12133
    5. Thiết kế giao diện trang cập nhật chuyên mục sản phẩm (Shop categories - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12137
    6. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa chuyên mục sản phẩm (Shop categories - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12134
    7. Thiết kế giao diện trang danh sách nhà cung cấp (Shop suppliers - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12142
    8. Thiết kế giao diện trang thêm mới nhà cung cấp (Shop suppliers - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12147
    9. Thiết kế giao diện trang cập nhật nhà cung cấp (Shop suppliers - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12148
    10. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa nhà cung cấp (Shop suppliers - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12149
    11. Thiết kế giao diện trang danh sách sản phẩm (Shop products - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12156
    12. Thiết kế giao diện trang thêm mới sản phẩm (Shop products - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12157
    13. Thiết kế giao diện trang cập nhật sản phẩm (Shop products - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12158
    14. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa sản phẩm (Shop products - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12159
    15. Thiết kế giao diện trang danh sách sản phẩm khuyến mãi, giảm giá (Shop product discounts - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12180
    16. Thiết kế giao diện trang thêm mới sản phẩm khuyến mãi, giảm giá (Shop product discounts - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12181
    17. Thiết kế giao diện trang cập nhật sản phẩm khuyến mãi, giảm giá (Shop product discounts - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12182
    18. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa sản phẩm khuyến mãi, giảm giá (Shop product discounts - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12183
    19. Thiết kế giao diện trang danh sách kho hàng (Shop stores - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12184
    20. Thiết kế giao diện trang thêm mới kho hàng (Shop stores - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12185
    21. Thiết kế giao diện trang cập nhật kho hàng (Shop stores - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12186
    22. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa kho hàng (Shop stores - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12187
    23. Thiết kế giao diện trang danh sách phiếu nhập kho (Shop imports - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12188
    24. Thiết kế giao diện trang thêm mới phiếu nhập kho (Shop imports - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12189
    25. Thiết kế giao diện trang cập nhật phiếu nhập kho (Shop imports - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12190
    26. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa phiếu nhập kho (Shop imports - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12191
Các bài học

Chương trình học

Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...

Chương trình học


  1. Bức tranh tổng thể về Lập trình WEB 1
    1. Sơ đồ vận hành của một Website Java Spring #12095
  2. Cài đặt, setup môi trường lập trình Java Spring 4
    1. Cài đặt Postman #12064
    2. Cài đặt tool Lombok #11611
    3. Cài đặt web server XAMPP #84
    4. Cài đặt công cụ truy vấn database HeidiSQL #1833
  3. Tiêu chuẩn lập trình WEB 8
    1. Chuẩn dữ liệu JSON #12067
    2. Tiêu chuẩn mã lỗi khi giao tiếp giữa Client và Server trên nền web - HTTP Status Code #12077
    3. Tiêu chuẩn RESTful API là gì? #12066
    4. Kiến trúc MVC là gì? #65
    5. Mô hình kiến trúc MVC vận hành trong Java Spring Framework #12108
    6. Mô hình kiến trúc 3 lớp (Three layers) vận hành trong Java Spring MVC Framework #12118
    7. Mô hình Kiến trúc 3 lớp (three layers) phân chia DTO thành REQUEST / RESPONSE theo từng ngữ cảnh vận hành trong Java Spring MVC Framework #12261
    8. Mô hình kiến trúc 3 lớp (three layers) có kiểm tra ràng buộc dữ liệu (validation) vận hành trong Java Spring MVC Framework #12240
  4. Tổng quan về framework Spring Java 2
    1. Giới thiệu về Spring #12065
    2. Tạo chương trình Java Spring đầu tiên - Hello World #12090
  5. Phân tích nghiệp vụ, phân rã danh sách chức năng và thiết kế database 2
    1. Thiết kế Cơ sở dữ liệu Bán hàng TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12053
    2. Phân rã danh sách chức năng Web app TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12058
  6. Video khóa học 1
    1. Playlist khóa học Java Spring Framework trên Youtube #12114
  7. Dự án thực tế mẫu - Trang web app bán hàng có quản lý kho hàng NetaShop - Phân vùng giao diện Quản trị Admin 26
    1. Thiết kế bố cục (layouts) cho phân vùng giao diện Quản trị Admin (Backend) #12124
    2. Thiết kế giao diện trang tổng quan (Dashboard) cho phân vùng giao diện Quản trị Admin (Backend) #12127
    3. Thiết kế giao diện trang danh sách chuyên mục sản phẩm (Shop categories - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12130
    4. Thiết kế giao diện trang thêm mới chuyên mục sản phẩm (Shop categories - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12133
    5. Thiết kế giao diện trang cập nhật chuyên mục sản phẩm (Shop categories - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12137
    6. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa chuyên mục sản phẩm (Shop categories - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12134
    7. Thiết kế giao diện trang danh sách nhà cung cấp (Shop suppliers - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12142
    8. Thiết kế giao diện trang thêm mới nhà cung cấp (Shop suppliers - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12147
    9. Thiết kế giao diện trang cập nhật nhà cung cấp (Shop suppliers - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12148
    10. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa nhà cung cấp (Shop suppliers - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12149
    11. Thiết kế giao diện trang danh sách sản phẩm (Shop products - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12156
    12. Thiết kế giao diện trang thêm mới sản phẩm (Shop products - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12157
    13. Thiết kế giao diện trang cập nhật sản phẩm (Shop products - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12158
    14. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa sản phẩm (Shop products - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12159
    15. Thiết kế giao diện trang danh sách sản phẩm khuyến mãi, giảm giá (Shop product discounts - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12180
    16. Thiết kế giao diện trang thêm mới sản phẩm khuyến mãi, giảm giá (Shop product discounts - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12181
    17. Thiết kế giao diện trang cập nhật sản phẩm khuyến mãi, giảm giá (Shop product discounts - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12182
    18. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa sản phẩm khuyến mãi, giảm giá (Shop product discounts - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12183
    19. Thiết kế giao diện trang danh sách kho hàng (Shop stores - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12184
    20. Thiết kế giao diện trang thêm mới kho hàng (Shop stores - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12185
    21. Thiết kế giao diện trang cập nhật kho hàng (Shop stores - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12186
    22. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa kho hàng (Shop stores - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12187
    23. Thiết kế giao diện trang danh sách phiếu nhập kho (Shop imports - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12188
    24. Thiết kế giao diện trang thêm mới phiếu nhập kho (Shop imports - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12189
    25. Thiết kế giao diện trang cập nhật phiếu nhập kho (Shop imports - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12190
    26. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa phiếu nhập kho (Shop imports - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12191

Bài học trước Bài học tiếp theo