Câu trả lời:
Tài nguyên là một tập hợp con RESTful của Endpoint .
Một điểm cuối của chính nó là vị trí mà một dịch vụ có thể được truy cập:
https://www.google.com # Serves HTML
8.8.8.8 # Serves DNS
/services/service.asmx # Serves an ASP.NET Web Service
Một tài nguyên đề cập đến một hoặc nhiều danh từ đang được phục vụ, được thể hiện theo kiểu được đặt tên, bởi vì con người dễ hiểu:
/api/users/johnny # Look up johnny from a users collection.
/v2/books/1234 # Get book with ID 1234 in API v2 schema.
Tất cả những điều trên có thể được coi là điểm cuối dịch vụ, nhưng chỉ nhóm dưới cùng mới được coi là tài nguyên, nói một cách khéo léo. Nhóm hàng đầu không biểu cảm về nội dung mà nó cung cấp.
Một yêu cầu REST giống như một câu bao gồm các danh từ (tài nguyên) và động từ (phương thức HTTP):
GET
(phương thức) người dùng có tên johnny
(tài nguyên).DELETE
(phương pháp) cuốn sách với id 1234
(tài nguyên).Điểm cuối thường đề cập đến một dịch vụ, nhưng tài nguyên có thể có nghĩa là rất nhiều thứ. Dưới đây là một số ví dụ về tài nguyên phụ thuộc vào bối cảnh chúng được sử dụng.
Một cái gì đó có thể được sử dụng để giúp bạn:
Thư viện là một tài nguyên quý giá và ông thường xuyên sử dụng nó.
Tài nguyên là các chất tự nhiên như nước và gỗ có giá trị trong việc hỗ trợ cuộc sống:
[pl] Trái đất có nguồn lực hạn chế và nếu chúng ta không tái chế chúng, chúng ta sẽ sử dụng chúng.
Tài nguyên cũng là những thứ có giá trị như tiền hoặc tài sản mà bạn có thể sử dụng khi bạn cần chúng:
[pl] Chính phủ không có đủ nguồn lực để thuê số lượng giáo viên cần thiết.
Thuật ngữ tài nguyên theo định nghĩa có rất nhiều sắc thái. Tất cả phụ thuộc vào bối cảnh được sử dụng trong.
Các thuật ngữ tài nguyên và điểm cuối thường được sử dụng đồng nghĩa. Nhưng trên thực tế chúng không có nghĩa tương tự.
Điểm cuối hạn được tập trung vào URL được sử dụng để thực hiện yêu cầu.
Thuật ngữ tài nguyên được tập trung vào tập dữ liệu được trả về bởi một yêu cầu.
Bây giờ, cùng một tài nguyên có thể được truy cập bởi nhiều điểm cuối khác nhau .
Ngoài ra, cùng một điểm cuối có thể trả về các tài nguyên khác nhau , tùy thuộc vào chuỗi truy vấn.
Hãy cho chúng tôi xem một số ví dụ:
Hãy xem các ví dụ sau đây về các điểm cuối khác nhau :
/api/companies/5/employees/3
/api/v2/companies/5/employees/3
/api/employees/3
Tất nhiên họ có thể truy cập cùng một tài nguyên trong một API nhất định.
Ngoài ra một API hiện có có thể được thay đổi hoàn toàn. Điều này có thể dẫn đến các điểm cuối mới sẽ truy cập cùng một tài nguyên cũ bằng các URL hoàn toàn mới và khác nhau:
/api/employees/3
/new_api/staff/3
Nếu điểm cuối của bạn trả về một bộ sưu tập, bạn có thể thực hiện tìm kiếm / lọc / sắp xếp bằng các chuỗi truy vấn. Do đó, tất cả các URL sau đều sử dụng cùng một điểm cuối ( /api/companies
), nhưng chúng có thể trả về các tài nguyên khác nhau (hoặc bộ sưu tập tài nguyên , theo định nghĩa là chính các tài nguyên):
/api/companies
/api/companies?sort=name_asc
/api/companies?location=germany
/api/companies?search=siemens
Có thể của tôi không phải là một câu trả lời tuyệt vời nhưng ở đây đi.
Do làm việc nhiều hơn với các dịch vụ web RESTful thực sự qua HTTP, tôi đã cố gắng tránh mọi người sử dụng thuật ngữ điểm cuối vì nó không có định nghĩa rõ ràng và thay vào đó sử dụng ngôn ngữ của REST là tài nguyên và vị trí tài nguyên.
Theo tôi, điểm cuối là một thuật ngữ TCP. Nó được kết hợp với HTTP vì một phần của URL xác định máy chủ nghe.
Vì vậy, tài nguyên không phải là một thuật ngữ mới hơn, tôi không nghĩ rằng, tôi nghĩ rằng điểm cuối luôn bị chiếm dụng và chúng tôi nhận ra rằng khi chúng ta nghĩ về REST như một kiểu API.
Biên tập
Tôi viết blog về điều này.
https://medium.com/@lukepuplett/stop-saying-endpoint-92c19e33e819
Theo https://apiblueprint.org/documentation/examples/13-named-endpoint.html là tài nguyên là nơi lưu trữ "chung" của thực thể nhất định - ví dụ: khách hàng / 30654 / đơn đặt hàng, trong khi điểm cuối là hành động cụ thể (Phương thức HTTP) trên tài nguyên đã cho. Vì vậy, một tài nguyên có thể có nhiều điểm cuối.
Hãy xem xét một máy chủ có thông tin của người dùng, nhiệm vụ và điểm thưởng của họ.
Nguồn: Điểm cuối API so với Tài nguyên
1. Mô tả tài nguyên, Tài nguyên, hướng tới các thông tin được API trả về.
2. Điểm cuối và phương thức Điểm cuối cho biết cách bạn truy cập tài nguyên, trong khi phương thức chỉ ra các tương tác được phép (chẳng hạn như GET, POST hoặc DELETE) với tài nguyên.
Thông tin bổ sung: 3. Tham số Tham số là các tùy chọn bạn có thể vượt qua với điểm cuối (chẳng hạn như chỉ định định dạng phản hồi hoặc số tiền được trả về) để ảnh hưởng đến phản hồi.
4. Ví dụ yêu cầu Ví dụ yêu cầu bao gồm một yêu cầu mẫu sử dụng điểm cuối, hiển thị một số tham số được định cấu hình.
5. Ví dụ phản hồi và lược đồ Ví dụ phản hồi hiển thị một phản hồi mẫu từ ví dụ yêu cầu; lược đồ đáp ứng xác định tất cả các yếu tố có thể có trong phản hồi.
Nguồn- Liên kết tham khảo