Đây là cách tôi hiểu và sử dụng chúng trong các trường hợp sử dụng khác nhau:
Ví dụ: Quản lý nhà hàng
use-case cho REST : quản lý đơn hàng
- create order (POST), update order (PATCH), cancel order (DELETE), retrieve order (GET)
- endpoint: /order?orderId=123
Đối với quản lý tài nguyên, REST là sạch. Một điểm cuối với các hành động được xác định trước. Nó có thể được coi là một cách để hiển thị DB (Sql hoặc NoSql) hoặc các cá thể lớp với thế giới.
Ví dụ triển khai:
class order:
on_get(self, req, resp): doThis.
on_patch(self, req, resp): doThat.
Ví dụ về khung: Falcon cho python.
use-case cho RPC : quản lý hoạt động
- prepare ingredients: /operation/clean/kitchen
- cook the order: /operation/cook/123
- serve the order /operation/serve/123
Đối với các công việc phân tích, hoạt động, không phản hồi, không đại diện, dựa trên hành động, RPC hoạt động tốt hơn và việc suy nghĩ theo chức năng là điều rất tự nhiên.
Ví dụ triển khai:
@route('/operation/cook/<orderId>')
def cook(orderId): doThis.
@route('/operation/serve/<orderId>')
def serve(orderId): doThat.
Ví dụ khung: Flask cho python