Endpoint và REST, nói theo cách đơn giản
Một là một món cụ thể trên thực đơn. Nó chỉ đơn giản là một (Uniform Resource Locator — Định vị Tài nguyên Thống nhất) làm đúng một việc cụ thể. Ví dụ:
https://api.weather.com/forecast— lấy dự báo thời tiếthttps://api.weather.com/cities— liệt kê các thành phố có sẵn
Cùng một bếp, nhưng khác món. Mỗi endpoint là một khả năng.
Hầu hết các bạn sẽ chạm tới đều tuân theo một phong cách khá tự do gọi là (Representational State Transfer — Chuyển giao Trạng thái Đại diện). Bạn không cần định nghĩa học thuật; bạn cần hai ý tưởng:
- URL đặt tên cho một thứ (một "tài nguyên") — một người dùng, một đơn hàng, một dự báo.
- Động từ nói rõ bạn muốn làm gì với nó. Các động từ này là các phương thức (HyperText Transfer Protocol — Giao thức Truyền Siêu văn bản), giống hệt những gì bạn đã học ở chương về cách web hoạt động:
GET— đọc thứ gì đó (lấy một dự báo). An toàn; không thay đổi gì cả.POST— tạo thứ gì đó (đặt một đơn hàng, đăng ký một người dùng).PUT/PATCH— cập nhật thứ gì đó đã tồn tại.DELETE— xóa thứ gì đó.
Vậy GET /orders/42 nghĩa là "đọc đơn hàng số 42," và DELETE /orders/42 nghĩa là "xóa nó." Cùng một danh từ, khác động từ, hiệu ứng hoàn toàn khác nhau. Khi bạn đọc tài liệu API hay một diff, hai từ đó — phương thức và URL — cho bạn biết phần lớn những gì một yêu cầu thực hiện.