นี่คือวิธีที่ฉันเข้าใจและใช้ในกรณีการใช้งานที่แตกต่างกัน:
ตัวอย่าง: การจัดการร้านอาหาร
use-case สำหรับ REST : การจัดการคำสั่งซื้อ
- create order (POST), update order (PATCH), cancel order (DELETE), retrieve order (GET)
- endpoint: /order?orderId=123
สำหรับการจัดการทรัพยากร REST นั้นสะอาด จุดสิ้นสุดเดียวที่มีการดำเนินการที่กำหนดไว้ล่วงหน้า จะเห็นได้ว่าเป็นวิธีการแสดง DB (Sql หรือ NoSql) หรืออินสแตนซ์คลาสสู่โลก
ตัวอย่างการใช้งาน:
class order:
on_get(self, req, resp): doThis.
on_patch(self, req, resp): doThat.
ตัวอย่างกรอบ: Falcon สำหรับ python
กรณีใช้งานสำหรับ RPC : การจัดการการดำเนินการ
- prepare ingredients: /operation/clean/kitchen
- cook the order: /operation/cook/123
- serve the order /operation/serve/123
สำหรับงานวิเคราะห์ปฏิบัติงานไม่ตอบสนองไม่เป็นตัวแทนงานที่ใช้การกระทำ RPC จะทำงานได้ดีขึ้นและเป็นเรื่องธรรมดามากที่จะคิดว่าใช้งานได้จริง
ตัวอย่างการใช้งาน:
@route('/operation/cook/<orderId>')
def cook(orderId): doThis.
@route('/operation/serve/<orderId>')
def serve(orderId): doThat.
ตัวอย่างกรอบ: ขวดสำหรับ python