यह मैं अलग-अलग उपयोग मामलों में समझता हूं और उनका उपयोग करता हूं:
उदाहरण: रेस्तरां प्रबंधन
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.
फ्रेमवर्क उदाहरण: अजगर के लिए फाल्कन।
RPC के लिए उपयोग मामला : ऑपरेशन प्रबंधन
- prepare ingredients: /operation/clean/kitchen
- cook the order: /operation/cook/123
- serve the order /operation/serve/123
विश्लेषणात्मक, परिचालन, गैर-उत्तरदायी, गैर-प्रतिनिधि, एक्शन-आधारित नौकरियों के लिए, आरपीसी बेहतर काम करता है और कार्यात्मक होना बहुत स्वाभाविक है।
कार्यान्वयन उदाहरण:
@route('/operation/cook/<orderId>')
def cook(orderId): doThis.
@route('/operation/serve/<orderId>')
def serve(orderId): doThat.
फ्रेमवर्क उदाहरण: अजगर के लिए फ्लास्क